Duplicate Plugin Objects bug work
This commit is contained in:
@@ -441,10 +441,17 @@ def combine_plugin_objects(old, new):
|
|||||||
def process_plugin_events(db, plugin, pluginsState):
|
def process_plugin_events(db, plugin, pluginsState):
|
||||||
sql = db.sql
|
sql = db.sql
|
||||||
|
|
||||||
|
# Access the connection from the DB instance
|
||||||
|
conn = db.sql_connection
|
||||||
|
|
||||||
pluginPref = plugin["unique_prefix"]
|
pluginPref = plugin["unique_prefix"]
|
||||||
|
|
||||||
mylog('debug', ['[Plugins] Processing : ', pluginPref])
|
mylog('debug', ['[Plugins] Processing : ', pluginPref])
|
||||||
|
|
||||||
|
try:
|
||||||
|
# Begin a transaction
|
||||||
|
with conn:
|
||||||
|
|
||||||
plugObjectsArr = db.get_sql_array ("SELECT * FROM Plugins_Objects where Plugin = '" + str(pluginPref)+"'")
|
plugObjectsArr = db.get_sql_array ("SELECT * FROM Plugins_Objects where Plugin = '" + str(pluginPref)+"'")
|
||||||
plugEventsArr = db.get_sql_array ("SELECT * FROM Plugins_Events where Plugin = '" + str(pluginPref)+"'")
|
plugEventsArr = db.get_sql_array ("SELECT * FROM Plugins_Events where Plugin = '" + str(pluginPref)+"'")
|
||||||
|
|
||||||
@@ -533,6 +540,15 @@ def process_plugin_events(db, plugin, pluginsState):
|
|||||||
|
|
||||||
sql.execute ("INSERT INTO Plugins_Events (Plugin, Object_PrimaryID, Object_SecondaryID, DateTimeCreated, DateTimeChanged, Watched_Value1, Watched_Value2, Watched_Value3, Watched_Value4, Status, Extra, UserData, ForeignKey) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?)", (plugObj.pluginPref, plugObj.primaryId , plugObj.secondaryId , createdTime, plugObj.changed , plugObj.watched1 , plugObj.watched2 , plugObj.watched3 , plugObj.watched4 , plugObj.status , plugObj.extra, plugObj.userData, plugObj.foreignKey ))
|
sql.execute ("INSERT INTO Plugins_Events (Plugin, Object_PrimaryID, Object_SecondaryID, DateTimeCreated, DateTimeChanged, Watched_Value1, Watched_Value2, Watched_Value3, Watched_Value4, Status, Extra, UserData, ForeignKey) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?)", (plugObj.pluginPref, plugObj.primaryId , plugObj.secondaryId , createdTime, plugObj.changed , plugObj.watched1 , plugObj.watched2 , plugObj.watched3 , plugObj.watched4 , plugObj.status , plugObj.extra, plugObj.userData, plugObj.foreignKey ))
|
||||||
|
|
||||||
|
# Commit the transaction
|
||||||
|
conn.commit()
|
||||||
|
|
||||||
|
except Exception as e:
|
||||||
|
# Rollback the transaction in case of an error
|
||||||
|
conn.rollback()
|
||||||
|
mylog('none', ['[Plugins] SQL transaction error: ', e])
|
||||||
|
raise e
|
||||||
|
|
||||||
# Perform database table mapping if enabled for the plugin
|
# Perform database table mapping if enabled for the plugin
|
||||||
if len(pluginEvents) > 0 and "mapped_to_table" in plugin:
|
if len(pluginEvents) > 0 and "mapped_to_table" in plugin:
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user