def main(): raise Exception( "this script will assign new reference numbers while moving, " "most certainly you don't want that to happen..." ) app = setup_app() parser = setup_option_parser() parser.add_option("-n", dest="dry_run", action="store_true", default=False) (options, args) = parser.parse_args() print SEPARATOR print SEPARATOR print "Date: {}".format(datetime.now().isoformat()) setup_plone(app, options) if options.dry_run: transaction.doom() print "DRY-RUN" rename_repositories(options) print "Done." print SEPARATOR print SEPARATOR
def main(): app = setup_app() parser = setup_option_parser() parser.add_option("-n", dest="dry_run", action="store_true", default=False) (options, args) = parser.parse_args() print SEPARATOR print SEPARATOR print "Date: {}".format(datetime.now().isoformat()) setup_plone(app, options) if options.dry_run: transaction.doom() print "DRY-RUN" fixer = FixReferenceNumbers(options) fixer.fix_reference_numbers() if not options.dry_run: import pdb; pdb.set_trace() transaction.commit() print "Done." print SEPARATOR print SEPARATOR
def main(): app = setup_app() parser = setup_option_parser() (options, args) = parser.parse_args() print SEPARATOR setup_plone(app, options) CatalogConsistencyChecker().check()
def main(): app = setup_app() parser = setup_option_parser() parser.add_option("-n", dest="dry_run", action="store_true", default=False) (options, args) = parser.parse_args() logger.warn("Date: {}".format(datetime.now().isoformat())) setup_plone(app, options) if options.dry_run: transaction.doom() logger.warn("DRY-RUN") fix_broken_sortable_title_indexes(options)
def update_local_roles_on_task(app): plone = setup_plone(app) print "Get brains of task..." brains = plone.portal_catalog( {'portal_type': 'opengever.task.task'}) print "%s task found" % len(brains) print "check local roles on task ..." for brain in brains: task = brain.getObject() responsible = task.responsible if responsible.startswith('inbox:'): responsible = 'og_%s_eingangskorb' %(responsible[6:]) temp = {} for principal, roles in task.get_local_roles(): temp[principal] = roles if responsible in temp.keys(): if 'Editor' in temp[responsible]: continue print 'Task %s not be authorized on %s ' % ( responsible, '/'.join(task.getPhysicalPath())) print 'local roles setter is working ...' LocalRolesSetter(task)(None) transaction.commit() print 50 * '-'
def main(): app = setup_app() parser = setup_option_parser() parser.add_option("-n", dest="dry_run", action="store_true", default=False) (options, args) = parser.parse_args() print SEPARATOR print "Date: {}".format(datetime.now().isoformat()) setup_plone(app, options) if options.dry_run: transaction.doom() print "DRY-RUN" fix_mails_with_no_subject(options)
def main(): app = setup_app() parser = setup_option_parser() parser.add_option("-n", dest="dry_run", action="store_true", default=False) parser.add_option("-p", dest="profile", help="profile that contains the repository excel file.") options, args = parser.parse_args() if not options.profile: logger.error("the profile (-p) argument is required.") return if ":" not in options.profile: logger.error("invalid profile id: '{}', missing ':'" .format(options.profile)) return if options.dry_run: logger.warn('transaction doomed because we are in dry-mode.') transaction.doom() plone = setup_plone(app, options) RetentionPeriodFixer(plone, options).run() if options.dry_run: logger.warn('skipping commit because we are in dry-mode.') else: transaction.commit() logger.info('done.')
def main(): plone = setup_plone(setup_app()) roots = plone.portal_catalog.unrestrictedSearchResults( {'portal_type': ['opengever.repository.repositoryroot']}) for root in roots: print 'checking repository {}'.format(root.id) recursive_find_uncatalogued_mails(root, plone.portal_catalog)
def main(): app = setup_app() parser = setup_option_parser() parser.add_option("-r", dest="reindex", action="store_true", default=False) (options, args) = parser.parse_args() plone = setup_plone(app, options) incorrectly_synched = find_incorrectly_synched_tasks(plone, options) print SEPARATOR print SEPARATOR if incorrectly_synched: print '{} incorrectly_synched tasks detected.'.format( len(incorrectly_synched)) print SEPARATOR pp(incorrectly_synched) if options.reindex: reindex_tasks(incorrectly_synched) transaction.commit() print SEPARATOR print 'All incorrectly synched tasks has been reindexed.' else: print 'Everything is fine.' print SEPARATOR print SEPARATOR
def main(): app = setup_app() parser = setup_option_parser() parser.add_option("-n", dest="dry_run", action="store_true", default=False) (options, args) = parser.parse_args() logger.info(SEPARATOR) logger.info("Date: {}".format(datetime.now().isoformat())) setup_plone(app, options) if options.dry_run: transaction.doom() logger.info("DRY-RUN") move_documents_in_proposal_to_dossier(options)
def main(): app = setup_app() parser = setup_option_parser() (options, args) = parser.parse_args() if not len(args) == 1: print USAGE print "Error: Incorrect number of arguments" sys.exit(1) new_timestamp_str = args[0] new_secret_ts = float(new_timestamp_str) print SEPARATOR setup_plone(app, options) set_secret_ts(app, new_secret_ts)
def main(): app = setup_app() parser = setup_option_parser() (options, args) = parser.parse_args() plone = setup_plone(app, options) print SEPARATOR count_objects(plone, options)
def main(): app = setup_app() parser = setup_option_parser() (options, args) = parser.parse_args() print SEPARATOR plone = setup_plone(app, options) find_long_task_titles(plone, options)
def main(): app = setup_app() parser = setup_option_parser() (options, args) = parser.parse_args() print SEPARATOR plone = setup_plone(app, options) remove_broken_transforms(plone)
def main(): app = setup_app() parser = setup_option_parser() (options, args) = parser.parse_args() plone = setup_plone(app, options) stats = get_stats(plone) print json.dumps(stats)
def main(): app = setup_app() parser = setup_option_parser() (options, args) = parser.parse_args() print SEPARATOR plone = setup_plone(app, options) fix_broken_indices(plone, options)
def main(): app = setup_app() parser = setup_option_parser() (options, args) = parser.parse_args() print SEPARATOR plone = setup_plone(app, options) check_for_reference_numbers(plone, options)
def main(): app = setup_app() parser = setup_option_parser() parser.add_option("-n", dest="dry_run", action="store_true", default=False) (options, args) = parser.parse_args() print SEPARATOR setup_plone(app, options) if options.dry_run: transaction.doom() print "DRY-RUN" crop_long_dossier_titles() crop_long_task_titles() if commit_needed: if not options.dry_run: transaction.commit()
def main(): app = setup_app() parser = setup_option_parser() parser.add_option("-p", "--profile-id", action="store", dest="profile_id", default=None) (options, args) = parser.parse_args() print SEPARATOR plone = setup_plone(app, options) check_dossier_nesting(plone, options)
def main(): app = setup_app() parser = setup_option_parser() parser.add_option("-b", "--batch-size", dest="batch_size", type="int", default=100) parser.add_option("-C", "--convert", action="store_true", dest="convert", default=False) (options, args) = parser.parse_args() print SEPARATOR plone = setup_plone(app, options) manager = PDFConversionManager(plone, options) manager.convert_pdfs()
def fix_none_responsible(app): plone = setup_plone(app) print "Get brains of task..." brains = plone.portal_catalog( {'portal_type': 'opengever.task.task'}) print "%s task found" % len(brains) print "check local roles on task ..." for brain in brains: task = brain.getObject() responsible = task.responsible if responsible.startswith('inbox:'): responsible = 'og_%s_eingangskorb' %(responsible[6:]) if responsible == 'None': if task.predecessor: new_task = ISuccessorTaskController(task).get_predecessor() else: new_task = ISuccessorTaskController(task).get_successors()[0] new_responsible = new_task.responsible new_responsible_client = new_task.assigned_client print "None Responsible: Task %s should change to %s %s (%s:%s)" %( '/'.join(task.getPhysicalPath()), new_responsible, new_responsible_client, new_task.client_id, new_task.physical_path) task.responsible = new_responsible task.responsible_client = new_responsible_client index_task(task, None) last_response = IResponseContainer(task)[-1] new_changes = PersistentList() for change in last_response.changes: if change.get('id') in ['responsible', 'reponsible'] and change.get('after') == 'None': # drop it pass else: new_changes.append(change) last_response.changes = new_changes transaction.commit()
def main(): app = setup_app() parser = setup_option_parser() parser.add_option("-n", dest="dry_run", action="store_true", default=False) parser.add_option("--domain", dest="domain", default=None, help="Domain used in links to renamed content in " "report file.") (options, args) = parser.parse_args() if options.domain: assert not options.domain.startswith("http") assert not options.domain.endswith("/") logger.info(SEPARATOR) logger.info("Date: {}".format(datetime.now().isoformat())) setup_plone(app, options) if options.dry_run: transaction.doom() logger.info("DRY-RUN") use_canonical_document_id(options)
def main(): app = setup_app() parser = setup_option_parser() (options, args) = parser.parse_args() if not len(args) == 1: print USAGE print "Error: Incorrect number of arguments" sys.exit(1) secret = args[0] plone = setup_plone(app, options) set_shared_secret(plone, secret) print SEPARATOR
def main(): app = setup_app() parser = setup_option_parser() parser.add_option("-n", dest="dry_run", action="store_true", default=False) (options, args) = parser.parse_args() print SEPARATOR print SEPARATOR print "Date: {}".format(datetime.now().isoformat()) setup_plone(app, options) if options.dry_run: transaction.doom() print "DRY-RUN" ReferenceChecker(options).check_ref_nums() if not options.dry_run: transaction.commit() print "Done." print SEPARATOR print SEPARATOR
def main(): app = setup_app() parser = setup_option_parser() parser.add_option("-u", "--user", action="store", dest="user", default=None) parser.add_option("-n", "--dry-run", action="store_true", dest="dryrun", default=False) parser.add_option("-c", "--comment", action="store", dest="comment", default='') (options, args) = parser.parse_args() print SEPARATOR plone = setup_plone(app, options) if not options.user: print "Please supply a username!" sys.exit(1) checkin_documents_for_user(plone, options)
def main(): app = setup_app() print SEPARATOR plone = setup_plone(app, []) # prevents erroneous execution transaction.doom() def log(msg): print msg fixer = ReferenceNumberFixer(log, plone) print "Running 'fixing broken mappings'..." fixer.fix_child_mappings() print "Done"
def main(): app = setup_app() parser = setup_option_parser() parser.add_option("-f", "--fix", action="store_true", dest="fix", help="Flags whether the script should fix or just display the wrong mimetypes.") parser.add_option("-t", "--mimetype", dest="specific_type", help="Search for the given MIMETYPE.") (options, args) = parser.parse_args() plone = setup_plone(app, options) if not options.specific_type: print "No MIMETYPE given." return if not options.fix: list_objects_with_specific_mime_types(plone, options.specific_type) else: fix_wrong_mime_types(plone, options.specific_type)
def run(self): site = setup_plone(self.app) self.collector = DocumentCollector(site) c = self.collector if not self.options.quiet: print "SUMMARY" print "=======" print "Total Documents: %s" % len(c.all_docs()) print "Documents with file: %s" % len(c.docs_with_file()) print "Documents missing PDF: %s" % len(c.docs_missing_pdf()) print if self.options.list: # List only self.list_docs() else: # Queue conversion jobs self.convert_docs()
'after-catalog', 'after-obj', 'title', 'path'] print '' print '' print 'INFO: Writing statistics to', STATS_CSV_PATH with open(STATS_CSV_PATH, 'w+') as csvfile: writer = DictWriter(csvfile, fieldnames=fieldnames) writer.writeheader() for item in items.values(): if len(set(item) - set(fieldnames)): raise Abort('Unexpected keys {} in {}'.format( set(item) - set(fieldnames), item)) writer.writerow(make_utf8(item)) if __name__ == '__main__': app = setup_app() plone = setup_plone(app, []) if True: print 'WARNING: transaction dommed because we are in dry-mode.' print '' transaction.doom() DossierRefnumsResetter(plone)() transaction.commit()
def run(self): site = setup_plone(self.app) set_profile_version(site, self.options.profile_id, self.options.version) transaction.commit()