当前位置: 首页>>代码示例>>Python>>正文


Python encodingutil.get_filesystem_encoding函数代码示例

本文整理汇总了Python中allmydata.util.encodingutil.get_filesystem_encoding函数的典型用法代码示例。如果您正苦于以下问题:Python get_filesystem_encoding函数的具体用法?Python get_filesystem_encoding怎么用?Python get_filesystem_encoding使用的例子?那么, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了get_filesystem_encoding函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: setup_logging

    def setup_logging(self):
        # we replace the formatTime() method of the log observer that
        # twistd set up for us, with a method that uses our preferred
        # timestamp format.
        for o in twlog.theLogPublisher.observers:
            # o might be a FileLogObserver's .emit method
            if type(o) is type(self.setup_logging): # bound method
                ob = o.im_self
                if isinstance(ob, twlog.FileLogObserver):
                    newmeth = types.UnboundMethodType(formatTimeTahoeStyle, ob, ob.__class__)
                    ob.formatTime = newmeth
        # TODO: twisted >2.5.0 offers maxRotatedFiles=50

        lgfurl_file = os.path.join(self.basedir, "private", "logport.furl").encode(get_filesystem_encoding())
        self.tub.setOption("logport-furlfile", lgfurl_file)
        lgfurl = self.get_config("node", "log_gatherer.furl", "")
        if lgfurl:
            # this is in addition to the contents of log-gatherer-furlfile
            self.tub.setOption("log-gatherer-furl", lgfurl)
        self.tub.setOption("log-gatherer-furlfile",
                           os.path.join(self.basedir, "log_gatherer.furl"))
        self.tub.setOption("bridge-twisted-logs", True)
        incident_dir = os.path.join(self.basedir, "logs", "incidents")
        # this doesn't quite work yet: unit tests fail
        foolscap.logging.log.setLogDir(incident_dir.encode(get_filesystem_encoding()))
开发者ID:BenKoerber,项目名称:tahoe-lafs,代码行数:25,代码来源:node.py

示例2: setup_logging

    def setup_logging(self):
        # we replace the formatTime() method of the log observer that
        # twistd set up for us, with a method that uses our preferred
        # timestamp format.
        for o in twlog.theLogPublisher.observers:
            # o might be a FileLogObserver's .emit method
            if type(o) is type(self.setup_logging): # bound method
                ob = o.im_self
                if isinstance(ob, twlog.FileLogObserver):
                    newmeth = types.UnboundMethodType(formatTimeTahoeStyle, ob, ob.__class__)
                    ob.formatTime = newmeth
        # TODO: twisted >2.5.0 offers maxRotatedFiles=50

        lgfurl_file = os.path.join(self.basedir, "private", "logport.furl").encode(get_filesystem_encoding())
        if os.path.exists(lgfurl_file):
            os.remove(lgfurl_file)
        self.log_tub.setOption("logport-furlfile", lgfurl_file)
        lgfurl = self.get_config("node", "log_gatherer.furl", "")
        if lgfurl:
            # this is in addition to the contents of log-gatherer-furlfile
            self.log_tub.setOption("log-gatherer-furl", lgfurl)
        self.log_tub.setOption("log-gatherer-furlfile",
                               os.path.join(self.basedir, "log_gatherer.furl"))

        incident_dir = os.path.join(self.basedir, "logs", "incidents")
        foolscap.logging.log.setLogDir(incident_dir.encode(get_filesystem_encoding()))
        twlog.msg("Foolscap logging initialized")
        twlog.msg("Note to developers: twistd.log does not receive very much.")
        twlog.msg("Use 'flogtool tail -c NODEDIR/private/logport.furl' instead")
        twlog.msg("and read docs/logging.rst")
开发者ID:LeastAuthority,项目名称:tahoe-lafs,代码行数:30,代码来源:node.py

示例3: init_introducer

    def init_introducer(self):
        introducerservice = IntroducerService(self.basedir)
        self.add_service(introducerservice)

        old_public_fn = os.path.join(self.basedir, "introducer.furl").encode(get_filesystem_encoding())
        private_fn = os.path.join(self.basedir, "private", "introducer.furl").encode(get_filesystem_encoding())

        if os.path.exists(old_public_fn):
            if os.path.exists(private_fn):
                msg = """This directory (%s) contains both an old public
                'introducer.furl' file, and a new-style
                'private/introducer.furl', so I cannot safely remove the old
                one. Please make sure your desired FURL is in
                private/introducer.furl, and remove the public file. If this
                causes your Introducer's FURL to change, you need to inform
                all grid members so they can update their tahoe.cfg.
                """
                raise FurlFileConflictError(textwrap.dedent(msg))
            os.rename(old_public_fn, private_fn)
        d = self.when_tub_ready()
        def _publish(res):
            furl = self.tub.registerReference(introducerservice,
                                              furlFile=private_fn)
            self.log(" introducer is at %s" % furl, umid="qF2L9A")
            self.introducer_url = furl # for tests
        d.addCallback(_publish)
        d.addErrback(log.err, facility="tahoe.init",
                     level=log.BAD, umid="UaNs9A")
开发者ID:ArtRichards,项目名称:tahoe-lafs,代码行数:28,代码来源:server.py

示例4: init_storage

    def init_storage(self):
        # should we run a storage server (and publish it for others to use)?
        if not self.get_config("storage", "enabled", True, boolean=True):
            return
        readonly = self.get_config("storage", "readonly", False, boolean=True)

        storedir = os.path.join(self.basedir, self.STOREDIR)

        data = self.get_config("storage", "reserved_space", None)
        try:
            reserved = parse_abbreviated_size(data)
        except ValueError:
            log.msg("[storage]reserved_space= contains unparseable value %s"
                    % data)
            raise
        if reserved is None:
            reserved = 0
        discard = self.get_config("storage", "debug_discard", False,
                                  boolean=True)

        expire = self.get_config("storage", "expire.enabled", False, boolean=True)
        if expire:
            mode = self.get_config("storage", "expire.mode") # require a mode
        else:
            mode = self.get_config("storage", "expire.mode", "age")

        o_l_d = self.get_config("storage", "expire.override_lease_duration", None)
        if o_l_d is not None:
            o_l_d = parse_duration(o_l_d)

        cutoff_date = None
        if mode == "cutoff-date":
            cutoff_date = self.get_config("storage", "expire.cutoff_date")
            cutoff_date = parse_date(cutoff_date)

        sharetypes = []
        if self.get_config("storage", "expire.immutable", True, boolean=True):
            sharetypes.append("immutable")
        if self.get_config("storage", "expire.mutable", True, boolean=True):
            sharetypes.append("mutable")
        expiration_sharetypes = tuple(sharetypes)

        ss = StorageServer(storedir, self.nodeid,
                           reserved_space=reserved,
                           discard_storage=discard,
                           readonly_storage=readonly,
                           stats_provider=self.stats_provider,
                           expiration_enabled=expire,
                           expiration_mode=mode,
                           expiration_override_lease_duration=o_l_d,
                           expiration_cutoff_date=cutoff_date,
                           expiration_sharetypes=expiration_sharetypes)
        self.add_service(ss)

        furl_file = os.path.join(self.basedir, "private", "storage.furl").encode(get_filesystem_encoding())
        furl = self.tub.registerReference(ss, furlFile=furl_file)
        ann = {"anonymous-storage-FURL": furl,
               "permutation-seed-base32": self._init_permutation_seed(ss),
               }
        self.introducer_client.publish("storage", ann, self._node_key)
开发者ID:FlagJollyRoger,项目名称:tahoe-lafs,代码行数:60,代码来源:client.py

示例5: skip_if_cannot_represent_filename

 def skip_if_cannot_represent_filename(self, u):
     enc = get_filesystem_encoding()
     if not unicode_platform():
         try:
             u.encode(enc)
         except UnicodeEncodeError:
             raise unittest.SkipTest("A non-ASCII filename could not be encoded on this platform.")
开发者ID:drewp,项目名称:tahoe-lafs,代码行数:7,代码来源:test_encodingutil.py

示例6: _publish

 def _publish(res):
     furl_file = os.path.join(self.basedir, "private", "storage.furl").encode(get_filesystem_encoding())
     furl = self.tub.registerReference(ss, furlFile=furl_file)
     ann = {"anonymous-storage-FURL": furl,
            "permutation-seed-base32": self._init_permutation_seed(ss),
            }
     self.introducer_client.publish("storage", ann, self._node_key)
开发者ID:EricSchles,项目名称:tahoe-lafs,代码行数:7,代码来源:client.py

示例7: _add_file

        def _add_file(ign):
            name = path.basename()
            # on Windows the name is already Unicode
            if not isinstance(name, unicode):
                name = name.decode(get_filesystem_encoding())

            u = FileName(path.path, self._convergence)
            return self._parent.add_file(name, u)
开发者ID:WinLAFS,项目名称:tahoe-lafs,代码行数:8,代码来源:drop_upload.py

示例8: setup_ssh

 def setup_ssh(self):
     ssh_port = self.get_config("node", "ssh.port", "")
     if ssh_port:
         ssh_keyfile = self.get_config("node", "ssh.authorized_keys_file").decode('utf-8')
         from allmydata import manhole
         m = manhole.AuthorizedKeysManhole(ssh_port, ssh_keyfile.encode(get_filesystem_encoding()))
         m.setServiceParent(self)
         self.log("AuthorizedKeysManhole listening on %s" % ssh_port)
开发者ID:drewp,项目名称:tahoe-lafs,代码行数:8,代码来源:node.py

示例9: unicode_or_fallback

 def unicode_or_fallback(self, unicode_name, fallback_name):
     if unicode_platform():
         return unicode_name
     try:
         unicode_name.encode(get_filesystem_encoding())
         return unicode_name
     except UnicodeEncodeError:
         return fallback_name
开发者ID:daira,项目名称:tahoe-lafs,代码行数:8,代码来源:common_util.py

示例10: process

    def process(self, event):
        event_filepath_u = event.src_path.decode(encodingutil.get_filesystem_encoding())
        event_filepath_u = abspath_expanduser_unicode(event_filepath_u, base=self._path)

        if event_filepath_u == self._path:
            # ignore events for parent directory
            return

        self._maybe_notify(event_filepath_u, event)
开发者ID:tahoe-lafs,项目名称:tahoe-lafs,代码行数:9,代码来源:inotify.py

示例11: test_open_unrepresentable

    def test_open_unrepresentable(self):
        if unicode_platform():
            raise unittest.SkipTest("This test is not applicable to platforms that represent filenames as Unicode.")

        enc = get_filesystem_encoding()
        fn = u'\u2621.txt'
        try:
            fn.encode(enc)
            raise unittest.SkipTest("This test cannot be run unless we know a filename that is not representable.")
        except UnicodeEncodeError:
            self.failUnlessRaises(UnicodeEncodeError, open, fn, 'wb')
开发者ID:tahoe-lafs,项目名称:tahoe-lafs,代码行数:11,代码来源:test_encodingutil.py

示例12: init_helper

 def init_helper(self):
     self.helper = Helper(self.config.get_config_path("helper"),
                          self.storage_broker, self._secret_holder,
                          self.stats_provider, self.history)
     # TODO: this is confusing. BASEDIR/private/helper.furl is created by
     # the helper. BASEDIR/helper.furl is consumed by the client who wants
     # to use the helper. I like having the filename be the same, since
     # that makes 'cp' work smoothly, but the difference between config
     # inputs and generated outputs is hard to see.
     helper_furlfile = self.config.get_private_path("helper.furl").encode(get_filesystem_encoding())
     self.tub.registerReference(self.helper, furlFile=helper_furlfile)
开发者ID:tahoe-lafs,项目名称:tahoe-lafs,代码行数:11,代码来源:client.py

示例13: _publish

 def _publish(self):
     self.helper = Helper(os.path.join(self.basedir, "helper"),
                          self.storage_broker, self._secret_holder,
                          self.stats_provider, self.history)
     # TODO: this is confusing. BASEDIR/private/helper.furl is created
     # by the helper. BASEDIR/helper.furl is consumed by the client
     # who wants to use the helper. I like having the filename be the
     # same, since that makes 'cp' work smoothly, but the difference
     # between config inputs and generated outputs is hard to see.
     helper_furlfile = os.path.join(self.basedir,
                                    "private", "helper.furl").encode(get_filesystem_encoding())
     self.tub.registerReference(self.helper, furlFile=helper_furlfile)
开发者ID:jsgf,项目名称:tahoe-lafs,代码行数:12,代码来源:client.py

示例14: unicode_or_fallback

    def unicode_or_fallback(self, unicode_name, fallback_name, io_as_well=False):
        if not unicode_platform():
            try:
                unicode_name.encode(get_filesystem_encoding())
            except UnicodeEncodeError:
                return fallback_name

        if io_as_well:
            try:
                unicode_name.encode(get_io_encoding())
            except UnicodeEncodeError:
                return fallback_name

        return unicode_name
开发者ID:warner,项目名称:tahoe-lafs,代码行数:14,代码来源:common_util.py

示例15: __init__

    def __init__(self, client, upload_dircap, local_dir_utf8, inotify=None):
        service.MultiService.__init__(self)

        try:
            local_dir_u = abspath_expanduser_unicode(local_dir_utf8.decode('utf-8'))
            if sys.platform == "win32":
                local_dir = local_dir_u
            else:
                local_dir = local_dir_u.encode(get_filesystem_encoding())
        except (UnicodeEncodeError, UnicodeDecodeError):
            raise AssertionError("The '[drop_upload] local.directory' parameter %s was not valid UTF-8 or "
                                 "could not be represented in the filesystem encoding."
                                 % quote_output(local_dir_utf8))

        self._client = client
        self._stats_provider = client.stats_provider
        self._convergence = client.convergence
        self._local_path = FilePath(local_dir)

        self.is_upload_ready = False

        if inotify is None:
            from twisted.internet import inotify
        self._inotify = inotify

        if not self._local_path.exists():
            raise AssertionError("The '[drop_upload] local.directory' parameter was %s but there is no directory at that location." % quote_output(local_dir_u))
        if not self._local_path.isdir():
            raise AssertionError("The '[drop_upload] local.directory' parameter was %s but the thing at that location is not a directory." % quote_output(local_dir_u))

        # TODO: allow a path rather than a cap URI.
        self._parent = self._client.create_node_from_uri(upload_dircap)
        if not IDirectoryNode.providedBy(self._parent):
            raise AssertionError("The URI in 'private/drop_upload_dircap' does not refer to a directory.")
        if self._parent.is_unknown() or self._parent.is_readonly():
            raise AssertionError("The URI in 'private/drop_upload_dircap' is not a writecap to a directory.")

        self._uploaded_callback = lambda ign: None

        self._notifier = inotify.INotify()

        # We don't watch for IN_CREATE, because that would cause us to read and upload a
        # possibly-incomplete file before the application has closed it. There should always
        # be an IN_CLOSE_WRITE after an IN_CREATE (I think).
        # TODO: what about IN_MOVE_SELF or IN_UNMOUNT?
        mask = inotify.IN_CLOSE_WRITE | inotify.IN_MOVED_TO | inotify.IN_ONLYDIR
        self._notifier.watch(self._local_path, mask=mask, callbacks=[self._notify])
开发者ID:FlagJollyRoger,项目名称:tahoe-lafs,代码行数:47,代码来源:drop_upload.py


注:本文中的allmydata.util.encodingutil.get_filesystem_encoding函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。