コード例 #1
0
ファイル: tests.py プロジェクト: manicmaniac/manifest
 def test_manifest_with_invalid_path(self):
     environ = {'PATH_INFO': '/'}
     with test.support.change_cwd(self.temp_dir):
         body = manifest.manifest(environ, self._start_response)
         self.assertEqual(body[0], b'404 Not Found')
         self.assertEqual(self._last_status, '404 Not Found')
         headers = dict(self._last_headers)
         self.assertEqual(headers['Content-Type'], 'text/plain')
コード例 #2
0
ファイル: tests.py プロジェクト: manicmaniac/manifest
 def test_manifest(self):
     environ = {'PATH_INFO': '/static/ham.plist'}
     with test.support.change_cwd(self.temp_dir):
         body = manifest.manifest(environ, self._start_response)
         self.assertIn(b'plist', body[0])
         self.assertEqual(self._last_status, '200 OK')
         headers = dict(self._last_headers)
         self.assertEqual(headers['Content-Type'], 'application/x-plist')
コード例 #3
0
    def __init__(self, ui, path):
        self._url = path
        self.ui = ui

        self.root = path
        u = util.url(path.rstrip('/') + "/.hg")
        self.path, authinfo = u.authinfo()

        opener = build_opener(ui, authinfo)
        self.opener = opener(self.path)
        self.vfs = self.opener
        self._phasedefaults = []

        self.names = namespaces.namespaces()

        try:
            requirements = scmutil.readrequires(self.vfs, self.supported)
        except IOError as inst:
            if inst.errno != errno.ENOENT:
                raise
            requirements = set()

            # check if it is a non-empty old-style repository
            try:
                fp = self.vfs("00changelog.i")
                fp.read(1)
                fp.close()
            except IOError as inst:
                if inst.errno != errno.ENOENT:
                    raise
                # we do not care about empty old-style repositories here
                msg = _("'%s' does not appear to be an hg repository") % path
                raise error.RepoError(msg)

        # setup store
        self.store = store.store(requirements, self.path, opener)
        self.spath = self.store.path
        self.svfs = self.store.opener
        self.sjoin = self.store.join
        self._filecache = {}
        self.requirements = requirements

        self.manifest = manifest.manifest(self.svfs)
        self.changelog = changelog.changelog(self.svfs)
        self._tags = None
        self.nodetagscache = None
        self._branchcaches = {}
        self._revbranchcache = None
        self.encodepats = None
        self.decodepats = None
        self._transref = None
コード例 #4
0
    def __init__(self, ui, path):
        self._url = path
        self.ui = ui

        self.root = path
        u = util.url(path.rstrip('/') + "/.hg")
        self.path, authinfo = u.authinfo()

        opener = build_opener(ui, authinfo)
        self.opener = opener(self.path)
        self.vfs = self.opener
        self._phasedefaults = []

        self.names = namespaces.namespaces()

        try:
            requirements = scmutil.readrequires(self.vfs, self.supported)
        except IOError as inst:
            if inst.errno != errno.ENOENT:
                raise
            requirements = set()

            # check if it is a non-empty old-style repository
            try:
                fp = self.vfs("00changelog.i")
                fp.read(1)
                fp.close()
            except IOError as inst:
                if inst.errno != errno.ENOENT:
                    raise
                # we do not care about empty old-style repositories here
                msg = _("'%s' does not appear to be an hg repository") % path
                raise error.RepoError(msg)

        # setup store
        self.store = store.store(requirements, self.path, opener)
        self.spath = self.store.path
        self.svfs = self.store.opener
        self.sjoin = self.store.join
        self._filecache = {}
        self.requirements = requirements

        self.manifest = manifest.manifest(self.svfs)
        self.changelog = changelog.changelog(self.svfs)
        self._tags = None
        self.nodetagscache = None
        self._branchcaches = {}
        self._revbranchcache = None
        self.encodepats = None
        self.decodepats = None
        self._transref = None
コード例 #5
0
ファイル: statichttprepo.py プロジェクト: saminigod/cygwin
class statichttprepository(localrepo.localrepository):
    def __init__(self, ui, path):
        self._url = path
        self.ui = ui

        self.path = path.rstrip('/') + "/.hg"
        self.opener = opener(self.path)

        # find requirements
        try:
            requirements = self.opener("requires").read().splitlines()
        except IOError, inst:
            if inst.errno == errno.ENOENT:
                msg = _("'%s' does not appear to be an hg repository") % path
                raise repo.RepoError(msg)
            else:
                requirements = []

        # check them
        for r in requirements:
            if r not in self.supported:
                raise repo.RepoError(_("requirement '%s' not supported") % r)

        # setup store
        if "store" in requirements:
            self.encodefn = util.encodefilename
            self.decodefn = util.decodefilename
            self.spath = self.path + "/store"
        else:
            self.encodefn = lambda x: x
            self.decodefn = lambda x: x
            self.spath = self.path
        self.sopener = util.encodedopener(opener(self.spath), self.encodefn)

        self.manifest = manifest.manifest(self.sopener)
        self.changelog = changelog.changelog(self.sopener)
        self.tagscache = None
        self.nodetagscache = None
        self.encodepats = None
        self.decodepats = None
コード例 #6
0
ファイル: statichttprepo.py プロジェクト: dkrisman/Traipse
            requirements = []

        # check them
        for r in requirements:
            if r not in self.supported:
                raise error.RepoError(_("requirement '%s' not supported") % r)

        # setup store
        def pjoin(a, b):
            return a + '/' + b
        self.store = store.store(requirements, self.path, opener, pjoin)
        self.spath = self.store.path
        self.sopener = self.store.opener
        self.sjoin = self.store.join

        self.manifest = manifest.manifest(self.sopener)
        self.changelog = changelog.changelog(self.sopener)
        self.tagscache = None
        self.nodetagscache = None
        self.encodepats = None
        self.decodepats = None

    def url(self):
        return self._url

    def local(self):
        return False

    def lock(self, wait=True):
        raise util.Abort(_('cannot lock static-http repository'))
コード例 #7
0
                if inst.errno != errno.ENOENT:
                    raise
                # we do not care about empty old-style repositories here
                msg = _("'%s' does not appear to be an hg repository") % path
                raise error.RepoError(msg)

        # setup store
        self.store = store.store(requirements, self.path, opener)
        self.spath = self.store.path
        self.sopener = self.store.opener
        self.svfs = self.sopener
        self.sjoin = self.store.join
        self._filecache = {}
        self.requirements = requirements

        self.manifest = manifest.manifest(self.sopener)
        self.changelog = changelog.changelog(self.sopener)
        self._tags = None
        self.nodetagscache = None
        self._branchcaches = {}
        self.encodepats = None
        self.decodepats = None

    def _restrictcapabilities(self, caps):
        return caps.difference(["pushkey"])

    def url(self):
        return self._url

    def local(self):
        return False
コード例 #8
0
 def __init__(self, opener, opener2, linkmapper):
     manifest.manifest.__init__(self, opener)
     manifest2 = manifest.manifest(opener2)
     unionrevlog.__init__(self, opener, self.indexfile, manifest2,
                          linkmapper)
コード例 #9
0
ファイル: unionrepo.py プロジェクト: michalliu/MyCygwin
 def __init__(self, opener, opener2, linkmapper):
     manifest.manifest.__init__(self, opener)
     manifest2 = manifest.manifest(opener2)
     unionrevlog.__init__(self, opener, self.indexfile, manifest2,
                          linkmapper)
コード例 #10
0
                if inst.errno != errno.ENOENT:
                    raise
                # we do not care about empty old-style repositories here
                msg = _("'%s' does not appear to be an hg repository") % path
                raise error.RepoError(msg)

        # setup store
        self.store = store.store(requirements, self.path, opener)
        self.spath = self.store.path
        self.svfs = self.store.opener
        self.sopener = self.svfs
        self.sjoin = self.store.join
        self._filecache = {}
        self.requirements = requirements

        self.manifest = manifest.manifest(self.svfs)
        self.changelog = changelog.changelog(self.svfs)
        self._tags = None
        self.nodetagscache = None
        self._branchcaches = {}
        self.encodepats = None
        self.decodepats = None

    def _restrictcapabilities(self, caps):
        caps = super(statichttprepository, self)._restrictcapabilities(caps)
        return caps.difference(["pushkey"])

    def url(self):
        return self._url

    def local(self):
コード例 #11
0
ファイル: statichttprepo.py プロジェクト: RayFerr000/PLTL
                if inst.errno != errno.ENOENT:
                    raise
                # we do not care about empty old-style repositories here
                msg = _("'%s' does not appear to be an hg repository") % path
                raise error.RepoError(msg)

        # setup store
        self.store = store.store(requirements, self.path, opener)
        self.spath = self.store.path
        self.svfs = self.store.opener
        self.sopener = self.svfs
        self.sjoin = self.store.join
        self._filecache = {}
        self.requirements = requirements

        self.manifest = manifest.manifest(self.svfs)
        self.changelog = changelog.changelog(self.svfs)
        self._tags = None
        self.nodetagscache = None
        self._branchcaches = {}
        self._revbranchcache = None
        self.encodepats = None
        self.decodepats = None
        self._transref = None

    def _restrictcapabilities(self, caps):
        caps = super(statichttprepository, self)._restrictcapabilities(caps)
        return caps.difference(["pushkey"])

    def url(self):
        return self._url
コード例 #12
0
ファイル: zip_installer.py プロジェクト: ori-levi/blich-7
from zipfile import ZipFile
from installers.basic_installer import BasicInstaller


class ZipInstaller(BasicInstaller):
    def __init__(self, manifest):
        super(self.__class__, self).__init__(manifest)

    def _verify(self):
        pass

    def _install(self):
        with ZipFile(self.cache_app_file) as zf:
            zf.extractall(self.app_directory)


if __name__ == '__main__':
    import manifest
    m = manifest.manifest('scapy.json')
    z = ZipInstaller(m)
    print z.install()
コード例 #13
0
 def Action_1(self):
     # self.statusBar().showMessage('Processing...')
     # time.sleep(1)
     manifest()
     self.statusBar().showMessage('`manifest.json` saved.')