Ejemplo n.º 1
0
def get_random_path(instance, filename):
    """
	:param filename base string for generated name
	:return: a unique string filename
	"""
    return u"{}_{}".format(id_generator(8),
                           filename)  # support nonenglish characters with u'
Ejemplo n.º 2
0
 def create_user_profile(self, email, name, surname, picture):
     try:
         user_profile = UserProfile.objects.get(email=email)
         self.logger.info("Sign in as %s with id %s", user_profile.username,
                          user_profile.id)
     except UserProfile.DoesNotExist:
         try:
             self.logger.info(
                 "Creating new user with email %s, name %s, surname %s, picture %s",
                 email, name, surname, picture)
             # replace all characters but a valid one with '-' and cut to 15 chars
             username = re.sub('[^0-9a-zA-Z-_]+', '-',
                               email.rsplit('@')[0])[:15]
             check_user(username)
         except ValidationError as e:
             self.logger.info("Can't use username %s because %s", username,
                              e)
             username = id_generator(8)
         self.logger.debug("Generated username: %s", username)
         user_profile = UserProfile(name=name,
                                    surname=surname,
                                    email=email,
                                    username=username)
         self.download_http_photo(picture, user_profile)
         user_profile.save()
         RoomUsers(user_id=user_profile.id,
                   room_id=settings.ALL_ROOM_ID,
                   notifications=False).save()
     return user_profile
Ejemplo n.º 3
0
 def get_user_name(self, email, name, surname):
     try:
         # replace all characters but a valid one with '-' and cut to 15 chars
         if email:
             username = re.sub('[^0-9a-zA-Z-_]+', '-',
                               email.rsplit('@')[0])[:15]
         else:
             username = f'{name}_{surname}'
         check_user(username)
     except ValidationError as e:
         self.logger.info("Can't use username %s because %s", username, e)
         username = id_generator(8)
     self.logger.debug("Generated username: %s", username)
     return username
Ejemplo n.º 4
0
 def offer_webrtc_connection(self, in_message):
     room_id = in_message[VarNames.ROOM_ID]
     content = in_message.get(VarNames.CONTENT)
     js_id = in_message[VarNames.JS_MESSAGE_ID]
     connection_id = id_generator(RedisPrefix.CONNECTION_ID_LENGTH)
     # use list because sets dont have 1st element which is offerer
     self.async_redis_publisher.hset(WEBRTC_CONNECTION, connection_id,
                                     self.id)
     self.async_redis_publisher.hset(connection_id, self.id,
                                     WebRtcRedisStates.READY)
     opponents_message = self.offer_webrtc(content, connection_id, room_id,
                                           in_message[VarNames.EVENT])
     self_message = self.set_connection_id(js_id, connection_id)
     self.ws_write(self_message)
     self.logger.info('!! Offering a webrtc, connection_id %s',
                      connection_id)
     self.publish(opponents_message, room_id, True)
Ejemplo n.º 5
0
 def offer_webrtc_connection(self, in_message):
     connection_id = id_generator(RedisPrefix.CONNECTION_ID_LENGTH)
     self.create_webrtc_connection(in_message, connection_id)
Ejemplo n.º 6
0
def create_id(user_id, random=None):
    if user_id is None:
        user_id = 0
    if not random or len(random) != settings.WS_ID_CHAR_LENGTH:
        random = id_generator(settings.WS_ID_CHAR_LENGTH)
    return "{:04d}:{}".format(user_id, random), random
Ejemplo n.º 7
0
	def __generate_session__(self, user_id):
		session = id_generator(32)
		sync_redis.hset('sessions', session, user_id)
		return session
Ejemplo n.º 8
0
def create_id(user_id=0, random=None):
    if not random or len(random) != settings.WS_ID_CHAR_LENGTH:
        random = id_generator(settings.WS_ID_CHAR_LENGTH)
    # if user is not authorized user_id would be None, and we would get unsupported format string
    return "{:04d}:{}".format(user_id if user_id else 0, random), random
Ejemplo n.º 9
0
def get_random_path(instance, filename):
    """
	:param filename base string for generated name
	:return: a unique string filename
	"""
    return "{}_{}".format(id_generator(8), filename)