コード例 #1
0
    def __init__(self,
                 name=None,
                 github_owner=None,
                 pypi_owner=None,
                 path=None):
        self.localmodule = LocalModule(name=name)
        self.name = self.localmodule.name

        self.localrepo = LocalRepo(name=self.name, path=path)
        self.path = self.localrepo.path

        self.github = GitHub(name=self.name, owner=github_owner)
        self.pypi = PyPI(name=self.name, owner=pypi_owner)
コード例 #2
0
class Packager(Recycle, _SharedAPI, NetworkDiagram, _PackagerMarkdown,
               _PackagerGitHub, _PackagerFiles, _PackagerMetadata,
               _PackagerPypi, _PackagerWorkflow, _PackagerRelations):
    """ Uses APIs to manage 'general' package.
        Contains methods that require more than one API as well as methods specific for ManderaGeneral. """

    author = 'Rickard "Mandera" Abraham'
    email = "*****@*****.**"
    license = "mit"
    python = "3.8", "3.9"  # Only supports basic definition with tuple of major.minor
    os = "windows", "ubuntu"  # , "macos"

    git_exclude_lines = ".idea", "build", "dist", "*.egg-info", "__pycache__", ".git", "test/tests", "PKG-INFO", "setup.cfg"
    _recycle_keys = LocalModule._recycle_keys
    _recycle_keys["path"] = str

    summary_packagers = []

    def __init__(self,
                 name=None,
                 github_owner=None,
                 pypi_owner=None,
                 path=None):
        self.localmodule = LocalModule(name=name)
        self.name = self.localmodule.name

        self.localrepo = LocalRepo(name=self.name, path=path)
        self.path = self.localrepo.path

        self.github = GitHub(name=self.name, owner=github_owner)
        self.pypi = PyPI(name=self.name, owner=pypi_owner)

        # Quick fix, should probably put download in a workflow step instead
        # Yeah because this prevents us from creating a new package with create_blank
        # if (self.localmodule.is_general() or self.name in ("Mandera", ".github")) and not self.localrepo.exists():
        #     self.github.download(path=self.path.get_parent())

    @property
    def simple_name(self):
        return self.name.replace("general", "")

    def spawn_children(self):
        """ :param generalpackager.Packager self: """
        for packager in self.get_dependants():
            if packager.is_general() and packager.localrepo.enabled:
                packager.set_parent(parent=self)

    def spawn_parents(self):
        """ :param generalpackager.Packager self: """
        for packager in self.get_dependencies():
            if packager.is_general() and packager.localrepo.enabled:
                self.set_parent(parent=packager)

    def exists(self):
        """ Just check GitHub for now. """
        return self.github.exists()

    def __repr__(self):
        return f"<Packager: {self.name}>"
コード例 #3
0
 def test_get_description(self):
     github = GitHub("generalpackager")
     self.assertEqual(True, len(github.get_description()) > 5)
コード例 #4
0
 def test_get_website(self):
     github = GitHub("generalpackager")
     self.assertEqual(True, "pypi" in github.get_website())
コード例 #5
0
    def test_get_owners_packages(self):
        github = GitHub()
        self.assertEqual(set(), {"generallibrary", "generalfile", "generalvector", "generalpackager"}.difference(github.get_owners_packages()))

        github = GitHub(owner="pandas-dev")
        self.assertEqual(True, "pandas" in github.get_owners_packages())
コード例 #6
0
 def test_topics(self):
     github = GitHub("generalpackager")
     self.assertTrue(github.get_topics())
コード例 #7
0
 def test_exists(self):
     self.assertEqual(True, GitHub("generalpackager").exists())