home *** CD-ROM | disk | FTP | other *** search
/ PCNET 2006 October - Disc 3 / PCNET_CD_2006_10_3.iso / apps / ShutterflyStudioInstaller_ext.exe / Scripts / mm_db_utils.py < prev    next >
Encoding:
Python Source  |  2005-05-20  |  3.6 KB  |  79 lines

  1. from mmpersist import *
  2.  
  3. import getopt, sys
  4. import string
  5. import time
  6. import re
  7. import os
  8. import os.path
  9.  
  10. def sql_list_exec(list):
  11.     db=MMDBInterface()
  12.     for sql in list:
  13.         print "Running: "+sql
  14.         db.SimpleSQLExec(sql)
  15.             
  16.     
  17.     
  18.     
  19. def py_backup_database(filename) :
  20.       if (os.path.isfile(filename)):
  21.         print filename+" exists; deleting."
  22.         os.unlink(filename)
  23.  
  24.     sqlCommands=["ATTACH DATABASE \""+filename+"\" AS backup",
  25.     "CREATE TABLE backup.directory AS SELECT * from directory",
  26.     "CREATE TABLE backup.directoryFile AS SELECT * from directoryFile ORDER BY fileId ASC", 
  27.     "CREATE TABLE backup.file AS SELECT * from file",
  28.     "CREATE TABLE backup.fileExifData AS SELECT * from fileExifData",
  29.     "CREATE TABLE backup.fileVariantData AS SELECT * from fileVariantData",
  30.     "CREATE TABLE backup.keywordKeywordRelations AS SELECT * from keywordKeywordRelations",
  31.     "CREATE TABLE backup.keywords AS SELECT * from keywords",
  32.     "CREATE TABLE backup.keywordSos AS SELECT * from keywordSos",
  33.     "CREATE TABLE backup.savedSearch AS SELECT * from savedSearch",
  34.     "CREATE TABLE backup.savedSearchSavedSearchNode AS SELECT * from savedSearchSavedSearchNode",
  35.     "CREATE TABLE backup.savedSearchNode AS SELECT * from savedSearchNode",
  36.     "CREATE TABLE backup.savedSearchNodeSavedSearchNodeParam AS SELECT * from savedSearchNodeSavedSearchNodeParam",
  37.     "CREATE TABLE backup.savedSearchNodeParam AS SELECT * from savedSearchNodeParam",
  38.     "CREATE TABLE backup.sos AS SELECT * from sos",
  39.     "CREATE TABLE backup.sosSavedSearch AS SELECT * from sosSavedSearch",
  40.     "CREATE TABLE backup.sosContainers AS SELECT * from sosContainers",
  41.     "CREATE TABLE backup.sosContainerThumbs AS SELECT * from sosContainerThumbs",
  42.     "CREATE TABLE backup.sosFile AS SELECT * from sosFile",
  43.     "CREATE TABLE backup.sosUsageData AS SELECT * from sosUsageData",
  44.     "CREATE TABLE backup.sosVariantData AS SELECT * from sosVariantData",
  45.     "CREATE TABLE backup.variantData AS SELECT * from variantData",
  46.     "DETACH backup"]
  47.     sql_list_exec(sqlCommands) 
  48.  
  49.  
  50. def py_restore_database(filename):
  51.     if (os.path.isfile(filename)==0):
  52.         print "File does not exist. Aborting."
  53.         return
  54.     
  55.     sqlCommands=["ATTACH DATABASE \""+filename+"\" AS backup",
  56.     "INSERT INTO directory SELECT * from backup.directory",
  57.     "INSERT INTO directoryFile SELECT * from backup.directoryFile ORDER BY fileId ASC", 
  58.     "INSERT INTO file SELECT * from backup.file",
  59.     "INSERT INTO fileExifData SELECT * from backup.fileExifData",
  60.     "INSERT INTO fileVariantData SELECT * from backup.fileVariantData",
  61.     "INSERT INTO keywordKeywordRelations SELECT * from backup.keywordKeywordRelations",
  62.     "INSERT INTO keywords SELECT * from backup.keywords",
  63.     "INSERT INTO keywordSos SELECT * from backup.keywordSos",
  64.     "INSERT INTO savedSearch SELECT * from backup.savedSearch",
  65.     "INSERT INTO savedSearchSavedSearchNode SELECT * from backup.savedSearchSavedSearchNode",
  66.     "INSERT INTO savedSearchNode SELECT * from backup.savedSearchNode",
  67.     "INSERT INTO savedSearchNodeSavedSearchNodeParam SELECT * from backup.savedSearchNodeSavedSearchNodeParam",
  68.     "INSERT INTO savedSearchNodeParam SELECT * from backup.savedSearchNodeParam",
  69.     "INSERT INTO sos SELECT * from backup.sos",
  70.     "INSERT INTO sosSavedSearch SELECT * from backup.sosSavedSearch",
  71.     "INSERT INTO sosContainers SELECT * from backup.sosContainers",
  72.     "INSERT INTO sosContainerThumbs SELECT * from backup.sosContainerThumbs",
  73.     "INSERT INTO sosFile SELECT * from backup.sosFile",
  74.     "INSERT INTO sosUsageData SELECT * from backup.sosUsageData",
  75.     "INSERT INTO sosVariantData SELECT * from backup.sosVariantData",
  76.     "INSERT INTO variantData SELECT * from backup.variantData",
  77.         "DETACH backup"]
  78.     sql_list_exec(sqlCommands) 
  79.