示例#1
0
    def add_modules(self, modName):
        '''
        Add a python module to self['Modules'].

        >>> ipl = IPL().clear()
        >>> ipl.add_modules('a')
        True
        >>> ipl['Modules']
        ['a']
        >>> ipl.add_modules(['b', 'c'])
        True
        >>> ipl['Modules']
        ['a', 'b', 'c']
        '''
        if isinstance(modName, str):
            if modName not in self.IPL['Modules']:
                self.IPL['Modules'].append(modName)
                self.modified = timestamp()
            return modName in self['Modules']
        if isinstance(modName, list):
            for mod in modName:
                if mod not in self.IPL['Modules']:
                    self.IPL['Modules'].append(mod)
            self.modified = timestamp()
            return set(self['Modules']).issuperset(set(modName))
示例#2
0
文件: ipl.py 项目: wittrup/Win7ools
    def add_modules(self, modName):
        '''
        Add a python module to self['Modules'].

        >>> ipl = IPL().clear()
        >>> ipl.add_modules('a')
        True
        >>> ipl['Modules']
        ['a']
        >>> ipl.add_modules(['b', 'c'])
        True
        >>> ipl['Modules']
        ['a', 'b', 'c']
        '''
        if isinstance(modName, str):
            if modName not in self.IPL['Modules']:
                self.IPL['Modules'].append(modName)
                self.modified = timestamp()
            return modName in self['Modules']
        if isinstance(modName, list):
            for mod in modName:
                if mod not in self.IPL['Modules']:
                    self.IPL['Modules'].append(mod)
            self.modified = timestamp()
            return set(self['Modules']).issuperset(set(modName))
示例#3
0
文件: ipl.py 项目: wittrup/Win7ools
 def add_program(self,\
                 name='',\
                 category='',\
                 optional=False,\
                 silent_install=None,\
                 silent_install_tag=None,\
                 backup_required=False,\
                 version='',\
                 date='',\
                 location='',\
                 GUID='',\
                 data='',\
                 replace=False,\
                 update=False):
     '''
     Add a program to self['Programs'].
     
     >>> ipl = IPL(data=[])
     >>> ipl.add_program(name='Test Program')
     True
     >>> 'Test Program' in ipl
     True
     '''
     modified = False
     if name:
         data = {'category': category,\
                 'optional': optional,\
                 'silent_install': silent_install,\
                 'silent_install_tag': silent_install_tag,\
                 'backup_required': backup_required,\
                 'name': name,\
                 'version': version,\
                 'date': date,\
                 'location': location,\
                 'GUID': GUID,\
                 'data': data}
         if name not in self.get_names():
             self.IPL['Programs'].append(data)
             modified = True
         else:
             if replace:
                 self.remove_program(name)
                 self.IPL['Programs'].append(data)
                 modified = True
             if update:
                 index = self['Programs'].index(self.get_program(name))
                 old = self['Programs'][index]
                 new = data
                 for param in old.items():
                     if not param[1]:
                         old[param[0]] = new[param[0]]
                 modified = True
         if modified:
             self.modified = timestamp()
     return name in self
示例#4
0
 def add_program(self,\
                 name='',\
                 category='',\
                 optional=False,\
                 silent_install=None,\
                 silent_install_tag=None,\
                 backup_required=False,\
                 version='',\
                 date='',\
                 location='',\
                 GUID='',\
                 data='',\
                 replace=False,\
                 update=False):
     '''
     Add a program to self['Programs'].
     
     >>> ipl = IPL(data=[])
     >>> ipl.add_program(name='Test Program')
     True
     >>> 'Test Program' in ipl
     True
     '''
     modified = False
     if name:
         data = {'category': category,\
                 'optional': optional,\
                 'silent_install': silent_install,\
                 'silent_install_tag': silent_install_tag,\
                 'backup_required': backup_required,\
                 'name': name,\
                 'version': version,\
                 'date': date,\
                 'location': location,\
                 'GUID': GUID,\
                 'data': data}
         if name not in self.get_names():
             self.IPL['Programs'].append(data)
             modified = True
         else:
             if replace:
                 self.remove_program(name)
                 self.IPL['Programs'].append(data)
                 modified = True
             if update:
                 index = self['Programs'].index(self.get_program(name))
                 old = self['Programs'][index]
                 new = data
                 for param in old.items():
                     if not param[1]:
                         old[param[0]] = new[param[0]]
                 modified = True                          
         if modified:
             self.modified = timestamp() 
     return name in self
示例#5
0
 def __init__(self, title='', pretext='', two_column=False):
     self.story = ['', '']
     self.pagesize = portrait(letter)
     self.styles = getSampleStyleSheet()
     if title: 
         self.title = PDF.Item('TITLE', title)
     else: 
         self.title = PDF.Item('TITLE', timestamp())   
     self.pretext = PDF.Item('PRETEXT', pretext)
     self.set_title(self.title.value)
     self.set_pretext(self.pretext.value)
     self.two_column = two_column
     self.savedir = '%s\\Documents'%os.path.expanduser('~') 
示例#6
0
 def __init__(self, title='', pretext='', two_column=False):
     self.story = ['', '']
     self.pagesize = portrait(letter)
     self.styles = getSampleStyleSheet()
     if title:
         self.title = PDF.Item('TITLE', title)
     else:
         self.title = PDF.Item('TITLE', timestamp())
     self.pretext = PDF.Item('PRETEXT', pretext)
     self.set_title(self.title.value)
     self.set_pretext(self.pretext.value)
     self.two_column = two_column
     self.savedir = '%s\\Documents' % os.path.expanduser('~')
示例#7
0
文件: ipl.py 项目: wittrup/Win7ools
 def remove_module(self, modName):
     '''
     Remove module (name=modName) from self['Modules']
     
     >>> ipl = IPL().clear()
     >>> ipl.add_modules('a')
     True
     >>> 'a' in ipl['Modules']
     True
     >>> ipl.remove_module('a')
     True
     >>> 'a' not in ipl['Modules']
     True
     '''
     if modName in self['Modules']:
         index = self['Modules'].index(modName)
         self['Modules'].pop(index)
         self.modified = timestamp()
     return modName not in self['Modules']
示例#8
0
文件: ipl.py 项目: wittrup/Win7ools
 def remove_program(self, name):
     '''
     Remove program (name=name) from self['Programs']
     
     >>> ipl = IPL(data=[])
     >>> ipl.add_program(name='Test')
     True
     >>> 'Test' in ipl
     True
     >>> ipl.remove_program('Test')
     True
     >>> 'Test' not in ipl
     True
     '''
     if name in self:
         index = self['Programs'].index(self.get_program(name))
         self['Programs'].pop(index)
         self.modified = timestamp()
     return name not in self
示例#9
0
 def remove_module(self, modName):
     '''
     Remove module (name=modName) from self['Modules']
     
     >>> ipl = IPL().clear()
     >>> ipl.add_modules('a')
     True
     >>> 'a' in ipl['Modules']
     True
     >>> ipl.remove_module('a')
     True
     >>> 'a' not in ipl['Modules']
     True
     '''        
     if modName in self['Modules']:
         index = self['Modules'].index(modName)
         self['Modules'].pop(index)
         self.modified = timestamp()
     return modName not in self['Modules']
示例#10
0
 def remove_program(self, name):
     '''
     Remove program (name=name) from self['Programs']
     
     >>> ipl = IPL(data=[])
     >>> ipl.add_program(name='Test')
     True
     >>> 'Test' in ipl
     True
     >>> ipl.remove_program('Test')
     True
     >>> 'Test' not in ipl
     True
     '''
     if name in self:
         index = self['Programs'].index(self.get_program(name))
         self['Programs'].pop(index)
         self.modified = timestamp()
     return name not in self
示例#11
0
文件: ipl.py 项目: wittrup/Win7ools
 def __init__(self, data=None, load=False, keys=RegistryKeys()):
     '''
     Create an IPL instance.
     Data should be of the format: {'Programs':[],'Modules': []}.
     If data is excluded, IPL.get() will populate self.IPL,
     if data is not in the IPL format, self.IPL will be set to
     {'Programs':[],'Modules': []}
     '''
     self.name = os.environ['computername']
     self.date = timestamp()
     self.modified = self.date
     if data is not None:
         try:
             self.IPL = {'Programs': data['Programs'],\
                         'Modules': data['Modules']}
         except:
             self.IPL = {'Programs': [], 'Modules': []}
     else:
         if load:
             self.IPL = IPL.load().IPL
         else:
             self.IPL = IPL.get(keys)
示例#12
0
 def __init__(self, data=None, load=False, keys=RegistryKeys()):
     '''
     Create an IPL instance.
     Data should be of the format: {'Programs':[],'Modules': []}.
     If data is excluded, IPL.get() will populate self.IPL,
     if data is not in the IPL format, self.IPL will be set to
     {'Programs':[],'Modules': []}
     '''
     self.name = os.environ['computername']
     self.date = timestamp()
     self.modified = self.date
     if data is not None:
         try:
             self.IPL = {'Programs': data['Programs'],\
                         'Modules': data['Modules']}
         except:
             self.IPL = {'Programs':[],'Modules': []}
     else:
         if load:
             self.IPL = IPL.load().IPL
         else:
             self.IPL = IPL.get(keys)