~vorlon/ubuntu/saucy/gourmet/trunk

« back to all changes in this revision

Viewing changes to tools/upgrade_pre_script.py

  • Committer: Bazaar Package Importer
  • Author(s): Rolf Leggewie
  • Date: 2008-07-26 13:29:41 UTC
  • Revision ID: james.westby@ubuntu.com-20080726132941-6ldd73qmacrzz0bn
Tags: upstream-0.14.0
ImportĀ upstreamĀ versionĀ 0.14.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
import sys, os.path
 
2
 
 
3
def dump_old_data ():
 
4
 
 
5
    try:
 
6
        import gourmet
 
7
    except ImportError:
 
8
        sys.path.append(os.path.join(os.path.sep+'usr','share'))
 
9
        try:
 
10
            import gourmet
 
11
        except:
 
12
            print 'No previous gourmet installation found.'
 
13
            return
 
14
 
 
15
    import gourmet.recipeManager as recipeManager # The *old* Gourmet
 
16
    
 
17
    # We need to get our upgradeHandler from the *new* Gourmet...
 
18
    gourmet_base_path = os.path.split(os.path.split(os.path.abspath(__file__))[0])[0]
 
19
    sys.path.append(os.path.join(gourmet_base_path,
 
20
                                 'src',
 
21
                                 'lib')
 
22
                    )
 
23
    print 'just added',sys.path[-1]
 
24
    import glob
 
25
    import upgradeHandler
 
26
 
 
27
    #for mkdata in glob.glob('/home/*/.gourmet/recipes.mk'):
 
28
    for mkdata in ['/home/tom/Projects/grm-db-experiments/src/lib/exporters/reference_setup/recipes.mk']:
 
29
        print 'Dumping old recipe database',mkdata,'...'
 
30
        stat = os.stat(mkdata)
 
31
        uid,gid = stat.st_uid,stat.st_gid
 
32
        recipeManager.dbargs['file']=mkdata
 
33
        try:
 
34
            recipeManager.RecipeManager(**recipeManager.dbargs)
 
35
        except:
 
36
            print 'Unable to load old database in ',mkdata
 
37
            continue
 
38
        se = upgradeHandler.SimpleExporter()
 
39
        ofi = os.path.join(os.path.split(mkdata)[0],
 
40
                     'GOURMET_DATA_DUMP')
 
41
        se.write_data(file(ofi,'w'))
 
42
        del se
 
43
        del recipeManager
 
44
        os.chown(ofi,uid,gid)
 
45
        os.chown(mkdata,uid,gid)
 
46
        print 'Saved data in backup file ',ofi
 
47
        print 'Data will be imported on first start of the new Gourmet by the appropriate user.'
 
48
 
 
49
if __name__ == '__main__':
 
50
    try:
 
51
        dump_old_data()        
 
52
    except:
 
53
        import traceback
 
54
        traceback.print_exc()
 
55
        sys.exit(1)
 
56
    else:
 
57
        sys.exit(0)