Exemplo n.º 1
0
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)}
Exemplo n.º 2
0
    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'))
Exemplo n.º 3
0
    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"))
Exemplo n.º 4
0
    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'))
Exemplo n.º 5
0
    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"))
Exemplo n.º 6
0
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"))