def clean(rep="."): """Thorough cleaning of all arborescence rooting at rep. Args: rep: (str) root directory to start the walk Returns: None """ for name in ("build", "dist"): pth = pj(rep, name) if exists(pth): rmtree(pth) for root, dnames, fnames in walk(rep): # do not walk directories starting with "." for name in tuple(dnames): if "clean.no" in listdir(pj(root, name)): dnames.remove(name) elif name.startswith("."): dnames.remove(name) elif name == "__pycache__": rmtree(pj(root, name)) dnames.remove(name) for name in fnames: if not name.startswith("."): if splitext(name)[1] in [".pyc", ".pyo"]: remove(pj(root, name))
def main(argv=sys.argv): if len(argv) < 2: usage(argv) # create extra dirs for pth in ("data", "data/sessions", "../see_repo"): if not os.path.exists(pth): os.mkdir(pth) # remove sqlite file sqlite_pth = "data/seeweb.sqlite" if os.path.exists(sqlite_pth): os.remove(sqlite_pth) # clean data for obj_type in ("ro", "team", "user"): for name in glob("seeweb/data/avatar/%s/*.png" % obj_type): try: os.remove(name) except OSError: print "unable to remove %s" % name for name in glob("seeweb/data/gallery/*/"): try: rmtree(name) except OSError: print "unable to remove %s" % name for name in glob("../see_repo/*/"): try: rmtree(name) except OSError: print "unable to remove %s" % name # setup config config_uri = argv[1] options = parse_vars(argv[2:]) setup_logging(config_uri) settings = get_appsettings(config_uri, options=options) engine = engine_from_config(settings, 'sqlalchemy.') DBSession.configure(bind=engine) Base.metadata.create_all(engine) # populate database with transaction.manager: session = DBSession() init_users.main(session) init_sample.main(session) pjt_auth_managment.main(session, users[0], containers[0]) pjt_data.main(session, users[0], containers[0]) pjt_workflow.main(session, users[0], containers[0])
def delete_gallery(project): """Remove all images from gallery. Args: project: (Project) Returns: (None) """ gal_dir = GalleryItem.gallery_pth(project.id) if exists(gal_dir): rmtree(gal_dir)
def view(request): if request.unauthenticated_userid is None: msg = "Operation non authorized for anonymous users" request.session.flash(msg, 'warning') return HTTPFound(location=request.route_url("home")) if "new_ro" in request.params: session = DBSession() uid = request.params["ro_id"] created = parse(request.params["created"]) name = request.params["name"] ro_type = request.params["ro_type"] # do some checking assert len(uid) == 32 print uid, created, name, ro_type, "\n" * 10 # gather data data = dict(id=uid, owner=request.unauthenticated_userid, created=created, name=name, version=0) # create RO ro = register(session, ro_type, data) return HTTPFound(location=request.route_url("ro_view_home", uid=ro.id)) elif "submit_upload" in request.params: field_storage = request.params["upload_file"] if field_storage == "": msg = "Need to select file first" request.session.flash(msg, 'warning') else: pth = upload_file(field_storage) session = DBSession() ro = create_from_file(session, pth, request.unauthenticated_userid) rmtree(dirname(pth)) if ro is None: msg = "Unable to find a valid RO in this file" request.session.flash(msg, 'warning') else: return HTTPFound(location=request.route_url("ro_view_home", uid=ro.id)) uid = uuid1().hex created = datetime.now() ro_types = ["container", "data", "ro", "article"] return dict(uid=uid, created=created, ro_types=ro_types)