def test_browse(db_request): classifiers = [ Classifier(classifier="Environment :: Other Environment"), Classifier(classifier="Development Status :: 5 - Production/Stable"), Classifier(classifier="Programming Language :: Python"), ] for classifier in classifiers: db_request.db.add(classifier) projects = [ProjectFactory.create() for _ in range(3)] releases = [] for project in projects: for _ in range(10): releases.append( ReleaseFactory.create(project=project, _classifiers=[classifiers[0]]) ) releases = sorted(releases, key=lambda x: (x.project.name, x.version)) expected_release = releases[0] expected_release._classifiers = classifiers assert set(xmlrpc.browse(db_request, ["Environment :: Other Environment"])) == { (r.project.name, r.version) for r in releases } assert set( xmlrpc.browse( db_request, [ "Environment :: Other Environment", "Development Status :: 5 - Production/Stable", ], ) ) == {(expected_release.project.name, expected_release.version)} assert set( xmlrpc.browse( db_request, [ "Environment :: Other Environment", "Development Status :: 5 - Production/Stable", "Programming Language :: Python", ], ) ) == {(expected_release.project.name, expected_release.version)} assert set( xmlrpc.browse( db_request, [ "Development Status :: 5 - Production/Stable", "Programming Language :: Python", ], ) ) == {(expected_release.project.name, expected_release.version)}
def add_parent_classifier(self): classifier = Classifier(classifier=self.request.params.get("parent"), l3=0, l4=0, l5=0) self.request.db.add(classifier) self.request.db.flush() # To get the ID classifier.l2 = classifier.id self.request.session.flash( f"Added classifier {classifier.classifier!r}", queue="success") return HTTPSeeOther(self.request.route_path("admin.classifiers"))
def add_child_classifier(self): parent = (self.request.db.query(Classifier).get( self.request.params.get('parent_id'))) classifier = Classifier( l2=parent.l2, l3=parent.l3, l4=parent.l4, l5=parent.l5, classifier=(parent.classifier + ' :: ' + self.request.params.get('child')), ) self.request.db.add(classifier) self.request.db.flush() # To get the ID for level in ['l3', 'l4', 'l5']: if getattr(classifier, level) == 0: setattr(classifier, level, classifier.id) break self.request.session.flash( f'Successfully added classifier {classifier.classifier!r}', queue='success', ) return HTTPSeeOther(self.request.route_path('admin.classifiers'))
def add_parent_classifier(self): classifier = Classifier( classifier=self.request.params.get('parent'), l3=0, l4=0, l5=0, ) self.request.db.add(classifier) self.request.db.flush() # To get the ID classifier.l2 = classifier.id self.request.session.flash( f'Added classifier {classifier.classifier!r}', queue='success', ) return HTTPSeeOther(self.request.route_path('admin.classifiers'))
def add_parent_classifier(self): classifier = Classifier( classifier=self.request.params.get('parent'), l3=0, l4=0, l5=0, ) self.request.db.add(classifier) self.request.db.flush() # To get the ID classifier.l2 = classifier.id self.request.session.flash( f'Successfully added classifier {classifier.classifier!r}', queue='success', ) return HTTPSeeOther(self.request.route_path('admin.classifiers'))
def add_child_classifier(self): parent = self.request.db.query(Classifier).get( self.request.params.get("parent_id")) classifier = Classifier( l2=parent.l2, l3=parent.l3, l4=parent.l4, l5=parent.l5, classifier=(parent.classifier + " :: " + self.request.params.get("child")), ) self.request.db.add(classifier) self.request.db.flush() # To get the ID for level in ["l3", "l4", "l5"]: if getattr(classifier, level) == 0: setattr(classifier, level, classifier.id) break self.request.session.flash( f"Added classifier {classifier.classifier!r}", queue="success") return HTTPSeeOther(self.request.route_path("admin.classifiers"))
def add_classifier(request): parent = request.db.query(Classifier).get(request.params.get('parent_id')) classifier = Classifier( l2=parent.l2, l3=parent.l3, l4=parent.l4, l5=parent.l5, classifier=parent.classifier + " :: " + request.params.get('child'), ) request.db.add(classifier) request.db.flush() # To get the ID for level in ['l3', 'l4', 'l5']: if getattr(classifier, level) == 0: setattr(classifier, level, classifier.id) break request.session.flash( f"Successfully added classifier {classifier.classifier!r}", queue="success", ) return HTTPSeeOther(request.route_path("admin.classifiers"))