Example #1
0
    def getPhotoset(self, user_name, photoset_id, photoset_name, user_id,
            existing=None):

        photo_id2destination = {}
        if not existing:
            existing = Existing(user_id, user_name)

        photoset_name = photoset_name.replace('/', '')
        destination = os.path.join(OPT.photo_dir, user_name, photoset_name)

        # prepare the photo directory
        Logger().info("\n== prepare the photo directory")
        try:
            _mkdir_photoset(destination)
        except OSError, err:
            errors = {
                28: "there is not enough space to continue, " \
                    "please delete some files and try again",
                13: "you dont have the permissions to access %s" % \
                    destination,
            }
            if err.errno in errors:
                if waitFor(errors[err.errno]):
                    _mkdir_photoset(destination)
                else:
                    raise
            else:
                Logger().error("while doing stuffs in %s" % destination)
                info = sys.exc_info()
                Logger().error(str(err))
                Logger().print_tb(info[2])
                raise
    def write(self, content):
        if self._file is None:
            filename = OPT.downloads_file
            try:
                dirname = os.path.dirname(filename)
                if not os.path.exists(dirname):
                    mkdir_p(dirname)

                self._file = open(filename, 'ab')
            except OSError, err:
                if err.errno == 28:
                    if waitFor("there is not enough space to continue, " \
                            "please delete some files and try again"):
                        self._file = open(filename, 'ab')
                    else:
                        raise
                else:
                    raise
    def write(self, filename, content, existing=None):
        try:
            dirname = os.path.dirname(filename)
            if not os.path.exists(dirname):
                mkdir_p(dirname)

            with open(filename, 'wb') as f:
                f.write(content)

            if existing is not None:
                existing.addFile(filename)

        except OSError, exc:
            if exc.errno == 28:
                ret = waitFor("there is not enough space to continue, " \
                    "please delete some files and try again")

                if ret:
                    with open(filename, 'wb') as f:
                        f.write(content)
                else:
                    raise
            else:
                raise