Ejemplo n.º 1
0
    def new(item, content):
        if (item != 'attachment'):
            raise WrongArgs("unknown item type")
        try:
            data = base64.b64decode(content)
        except:
            raise WrongArgs("base64 decoding failure")
        filename = Util.RandomStr(16)
        filepath = Store.path_from_id(filename)
        fp = None
        try_count = 16  # good luck!
        while (try_count > 0):
            while (try_count > 0):
                try:
                    fp = open(filepath, "rb")
                    # ... success?
                    filename = Util.RandomStr(16)
                    filepath = Store.path_from_id(filename)

                except:
                    break

                try_count -= 1

            # at least we can't open it...
            try:
                with open(filepath, "wb") as fp:
                    fp.write(data)

                return filename
            except:
                # ... failed...
                filename = Util.RandomStr(16)
                filepath = Store.path_from_id(filename)

            try_count -= 1

        raise ServerError("can't store content")
Ejemplo n.º 2
0
 def __init__(self,
              user,
              fromip,
              _sessionid=None,
              _created=None,
              scopes=['auth']):
     self.username = user.name
     self.uid = UCache.UCache.SearchUser(self.username)
     if (_sessionid is None):
         self.sessionid = Util.RandomStr(SESSIONID_LEN)
         self.created = datetime.datetime.now()
     else:
         self.sessionid = _sessionid
         self.created = _created
     self.user = UserManager.UserManager.LoadUser(user.name)
     self._userinfo = None
     self.utmpent = -1
     self._fromip = fromip
     self.scopes = scopes
     SessionManager.Insert(self)
     if (_sessionid is None):
         SessionManager.Record(self)
     else:
         SessionManager.Update(self)
Ejemplo n.º 3
0
 def generate(self):
     return Util.RandomStr(Config.REFRESH_TOKEN_LEN)