def _run_task(self): # Check that path exists if not os.path.isdir(self.options['path']): raise TaskOptionsError( 'The path {} does not exist or is not a directory'.format( self.options['path'], ) ) # Check that revert_path does not exist if os.path.exists(self.options['revert_path']): raise TaskOptionsError( 'The revert_path {} already exists. Delete it and try again'.format( self.options['revert_path'], ) ) # Copy path to revert_path copy_tree(self.options['path'], self.options['revert_path']) # Edit metadata in path self.logger.info('Preparing metadata in {0} for unmanaged EE deployment'.format( self.options['path'], )) for replace_regex in self.replace_regex: for fname_match in self.fname_match: findReplaceRegex( os.path.join(self.options['path']), replace_regex, '', fname_match) self.logger.info('Metadata in {} is now prepared for unmanaged EE deployment'.format( self.options['path'], ))
def _process_metadata(self): super(UpdateAdminProfile, self)._process_metadata() if self.options['skip_record_types']: return # Strip record type visibilities findReplaceRegex( '<recordTypeVisibilities>([^\$]+)</recordTypeVisibilities>', '', os.path.join(self.tempdir, 'profiles'), 'Admin.profile' ) # Set up namespace namespace_prefix = '' if self.options['managed']: namespace_prefix = '{}__'.format(self.project_config.project__package__namespace) # Set record type visibilities for Course Connections self._set_record_type('{}Course_Enrollment__c.Default'.format(namespace_prefix), 'false') self._set_record_type('{}Course_Enrollment__c.Faculty'.format(namespace_prefix), 'false') self._set_record_type('{}Course_Enrollment__c.Student'.format(namespace_prefix), 'true') # Set record type visibilities for Accounts self._set_record_type('Account.Administrative', 'true') self._set_record_type('Account.Academic_Program', 'false') self._set_record_type('Account.Business_Organization', 'false') self._set_record_type('Account.Educational_Institution', 'false') self._set_record_type('Account.HH_Account', 'false') self._set_record_type('Account.Sports_Organization', 'false') self._set_record_type('Account.University_Department', 'false')
def _run_task(self): findReplaceRegex( find=self.options["find"], replace=self.options["replace"], directory=self.options["path"], filePattern=self.options["file_pattern"], logger=self.logger, )
def _run_task(self): findReplaceRegex( find=self.options['find'], replace=self.options['replace'], directory=self.options['path'], filePattern=self.options['file_pattern'], logger=self.logger, )
def test_findReplaceRegex(self): with utils.temporary_dir() as d: path = os.path.join(d, "test") with open(path, "w") as f: f.write("aa") logger = mock.Mock() utils.findReplaceRegex(r"\w", "x", d, "*", logger) logger.info.assert_called_once() with open(path, "r") as f: result = f.read() self.assertEqual(result, "xx")
def test_findReplaceRegex(self): with utils.temporary_dir() as d: path = os.path.join(d, "test") with open(path, "w") as f: f.write("aa") logger = mock.Mock() utils.findReplaceRegex(r"\w", "x", d, "*", logger) logger.info.assert_called_once() with open(path, "r") as f: result = f.read() self.assertEqual(result, "xx")
def test_findReplaceRegex(self): with temporary_dir() as d: path = os.path.join(d, 'test') with open(path, 'w') as f: f.write('aa') logger = mock.Mock() utils.findReplaceRegex(r'\w', 'x', d, '*', logger) logger.info.assert_called_once() with open(path, 'r') as f: result = f.read() self.assertEqual(result, 'xx')
def _process_metadata(self): super(UpdateAdminProfile, self)._process_metadata() # Strip record type visibilities findReplaceRegex( '<recordTypeVisibilities>([^\$]+)</recordTypeVisibilities>', '', os.path.join(self.tempdir, 'profiles'), 'Admin.profile') # Set record type visibilities self._set_record_type('Account.HH_Account', 'false') self._set_record_type( 'Account.Organization', 'true', ' <personAccountDefault>true</personAccountDefault>') self._set_record_type('Opportunity.NPSP_Default', 'true')
def _process_metadata(self): super(UpdateAdminProfile, self)._process_metadata() # Strip record type visibilities findReplaceRegex( '<recordTypeVisibilities>([^\$]+)</recordTypeVisibilities>', '', os.path.join(self.tempdir, 'profiles'), 'Admin.profile' ) # Set record type visibilities self._set_record_type('Course_Enrollment__c.Default', 'false') self._set_record_type('Course_Enrollment__c.Faculty', 'false') self._set_record_type('Course_Enrollment__c.Student', 'true')
def _process_metadata(self): super(UpdateAdminProfile, self)._process_metadata() if self.options['skip_record_types']: return # Strip record type visibilities findReplaceRegex( '<recordTypeVisibilities>([^\$]+)</recordTypeVisibilities>', '', os.path.join(self.tempdir, 'profiles'), 'Admin.profile') # Set record type visibilities namespace_prefix = '' if self.options['managed']: namespace_prefix = '{}__'.format( self.project_config.project__package__namespace) self._set_record_type( '{}Course_Enrollment__c.Default'.format(namespace_prefix), 'false') self._set_record_type( '{}Course_Enrollment__c.Faculty'.format(namespace_prefix), 'false') self._set_record_type( '{}Course_Enrollment__c.Student'.format(namespace_prefix), 'true')
def _process_metadata(self): super(UpdateAdminProfile, self)._process_metadata() # Strip record type visibilities findReplaceRegex( '<recordTypeVisibilities>([^\$]+)</recordTypeVisibilities>', '', os.path.join(self.tempdir, 'profiles'), 'Admin.profile') namespace_args = { 'managed': self.namespace_prefix, 'namespaced_org': self.namespaced_org_prefix, } # Set record type visibilities for Accounts self._set_record_type( 'Account.{namespaced_org}Administrative'.format(**namespace_args), 'true', ) self._set_record_type( 'Account.{namespaced_org}Academic_Program'.format( **namespace_args), 'false', ) self._set_record_type( 'Account.{namespaced_org}Business_Organization'.format( **namespace_args), 'false', ) self._set_record_type( 'Account.{namespaced_org}Educational_Institution'.format( **namespace_args), 'false', ) self._set_record_type( 'Account.{namespaced_org}HH_Account'.format(**namespace_args), 'false', ) self._set_record_type( 'Account.{namespaced_org}Sports_Organization'.format( **namespace_args), 'false', ) self._set_record_type( 'Account.{namespaced_org}University_Department'.format( **namespace_args), 'false', ) if self.options['skip_record_types']: return # Set record type visibilities for Course Connections self._set_record_type( '{managed}Course_Enrollment__c.{namespaced_org}Default'.format( **namespace_args), 'false', ) self._set_record_type( '{managed}Course_Enrollment__c.{namespaced_org}Faculty'.format( **namespace_args), 'false', ) self._set_record_type( '{managed}Course_Enrollment__c.{namespaced_org}Student'.format( **namespace_args), 'true', ) # Set record type visibilities for Attribute self._set_record_type( '{managed}Attribute__c.{managed}Credential'.format( **namespace_args), 'true', ) self._set_record_type( '{managed}Attribute__c.{managed}Student_Characteristic'.format( **namespace_args), 'false', )
def _process_metadata(self): super(UpdateAdminProfile, self)._process_metadata() # Strip record type visibilities findReplaceRegex( "<recordTypeVisibilities>([^\$]+)</recordTypeVisibilities>", "", Path(self.retrieve_dir, "profiles"), "Admin.profile", ) namespace_args = { "managed": self.namespace_prefix, "namespaced_org": self.namespaced_org_prefix, } # Set record type visibilities for Accounts self._set_record_type( "Account.{namespaced_org}Administrative".format(**namespace_args), "true", ) self._set_record_type( "Account.{namespaced_org}Academic_Program".format( **namespace_args), "false", ) self._set_record_type( "Account.{namespaced_org}Business_Organization".format( **namespace_args), "false", ) self._set_record_type( "Account.{namespaced_org}Educational_Institution".format( **namespace_args), "false", ) self._set_record_type( "Account.{namespaced_org}HH_Account".format(**namespace_args), "false", ) self._set_record_type( "Account.{namespaced_org}Sports_Organization".format( **namespace_args), "false", ) self._set_record_type( "Account.{namespaced_org}University_Department".format( **namespace_args), "false", ) if self.options["skip_record_types"]: return # Set record type visibilities for Course Connections self._set_record_type( "{managed}Course_Enrollment__c.{namespaced_org}Default".format( **namespace_args), "false", ) self._set_record_type( "{managed}Course_Enrollment__c.{namespaced_org}Faculty".format( **namespace_args), "false", ) self._set_record_type( "{managed}Course_Enrollment__c.{namespaced_org}Student".format( **namespace_args), "true", ) # Set record type visibilities for Attribute self._set_record_type( "{managed}Attribute__c.{managed}Credential".format( **namespace_args), "true", ) self._set_record_type( "{managed}Attribute__c.{managed}Student_Characteristic".format( **namespace_args), "false", ) # Set record type visibilities for Case self._set_record_type( "Case.{namespaced_org}Incident".format(**namespace_args), "true", )
def _process_metadata(self): super(UpdateAdminProfile, self)._process_metadata() # Strip record type visibilities findReplaceRegex( '<recordTypeVisibilities>([^\$]+)</recordTypeVisibilities>', '', os.path.join(self.tempdir, 'profiles'), 'Admin.profile' ) namespace_args = { 'managed': self.namespace_prefix, 'namespaced_org': self.namespaced_org_prefix, } # Set record type visibilities for Accounts self._set_record_type( 'Account.{namespaced_org}Administrative'.format(**namespace_args), 'true', ) self._set_record_type( 'Account.{namespaced_org}Academic_Program'.format(**namespace_args), 'false', ) self._set_record_type( 'Account.{namespaced_org}Business_Organization'.format(**namespace_args), 'false', ) self._set_record_type( 'Account.{namespaced_org}Educational_Institution'.format(**namespace_args), 'false', ) self._set_record_type( 'Account.{namespaced_org}HH_Account'.format(**namespace_args), 'false', ) self._set_record_type( 'Account.{namespaced_org}Sports_Organization'.format(**namespace_args), 'false', ) self._set_record_type( 'Account.{namespaced_org}University_Department'.format(**namespace_args), 'false', ) if self.options['skip_record_types']: return # Set record type visibilities for Course Connections self._set_record_type( '{managed}Course_Enrollment__c.{namespaced_org}Default'.format(**namespace_args), 'false', ) self._set_record_type( '{managed}Course_Enrollment__c.{namespaced_org}Faculty'.format(**namespace_args), 'false', ) self._set_record_type( '{managed}Course_Enrollment__c.{namespaced_org}Student'.format(**namespace_args), 'true', )