def upload_file(): if request.method == 'POST': # <input type="file" name="json"> file = request.files['json'] # On lit le contenu du fichier et le stock dans une var data = json.loads(file.read().decode('utf-8')) # la première case du tableau contient le document de la session exportée session_document = data[0] del session_document['_id'] imported_tweets = data[1] # Un tableau de documents tweets exporter_user = getUserByObjectId( ObjectId(session_document['user_id']['$oid'])) user_logged = getUser() # On remplace l'user id par celui de l'utilisateur courant session_document['user_id'] = user_logged['_id'] # On ajoute le nom et prenom de l'utilisateur qui a exporté la session session_document['exporter_user'] = exporter_user[ 'first_name'] + exporter_user['last_name'] mongo.db.sessions.insert_one(session_document) session['last_session'] = str(session_document['_id']) for tweet in imported_tweets: # Lier les tweets importés à notre nouvelle session tweet['session_id'] = session['last_session'] del tweet['_id'] mongo.db.tweets.insert_many(imported_tweets) return redirect( url_for('display_session', session_id=session['last_session']))
def get(self): try: user = getUser(current_user.email) retJson = { "user": { "firstName": user["firstName"], "lastName": user["lastName"], "email": user["email"], "gender": user["gender"], "phone": user["phone"], "birthDate": user["birthDate"], "country": user["country"], "city": user["city"], "education": user["education"], "type": user["type"], "registeredAt": user["registeredAt"], "preferences": { "jobRadius": user["preferences"]["jobRadius"], "jobType": user["preferences"]["jobType"], "country": user["preferences"]["country"], "city": user["preferences"]["city"], "excludedSkills": user["preferences"]["excludedSkills"], "sameAddress": user["preferences"]["sameAddress"], "emailNotifications": user["preferences"]["emailNotifications"] } } } return jsonify(retJson) except Exception as err: print("Error: ", err) retJson = { "status": 500, "message": "err" } return jsonify(retJson)
def _send_notifications(error): import config, auth #here to break import cycle title = "new %s" % error.type message = "A new %(type)s has occurred in ToMaTo:\n\nTitle: %(title)s\nType: %(type)s\nDate: %(date_first)s\n\n%(message)s" % error.toDict() for name in config.ERROR_NOTIFY: user = auth.getUser(name) if not user: continue user.sendMessage(title, message)
def getUser(): id = request.form.get('id') result = auth.getUser(id) if result == None: response = jsonify(message=False, code=200, data="User does not exist") else: data = { "name": result.name, "ca1": result.ca1, "ca2": result.ca2, "ca3": result.ca3 } response = jsonify(message=True, code=200, data=data) return response
def permissionsRemove(self, user_name): self.renew() user = auth.getUser(user_name) fault.check(user, "Unknown user: %s", user_name) self.permission_set.filter(user=user).delete() # pylint: disable-msg=E1101 self.save()
def permissionsAdd(self, user_name, role): self.renew() user = auth.getUser(user_name) fault.check(user, "Unknown user: %s", user_name) self.permission_set.add(Permission(user=user, role=role)) # pylint: disable-msg=E1101 self.save()
def addSession(mode=None): if request.method == 'GET': # Affichage de la page HTML return render_template('session_create_form.html', mode=mode) elif request.method == 'POST': # Envoi de formulaire if isLogged(): # Vérificaiton qu'un user est connecté session_collection = mongo.db.sessions user_logged = getUser() dateOfDay = datetime.datetime.now( ) # Récupère la date d'aujourd'hui src_img = None if request.form['keywords']: src_img = getLinkImgFromKeyWords(request.form['keywords']) if src_img == -1: src_img = getLinkImgFromKeyWords( request.form['session_name']) else: src_img = getLinkImgFromKeyWords(request.form['session_name']) documentInserted = session_collection.insert({ 'user_id': user_logged['_id'], 'session_name': request.form['session_name'], 'start_date': dateOfDay.strftime("%d-%m-%y %H:%M:%S"), 'last_modification_date': dateOfDay.strftime("%d-%m-%y %H:%M:%S"), 'mode': request.form['mode'], 'src_img': src_img, 'tweets_batch': request.form['tweets_batch'] if request.form['mode'] == "dated_tweets" else None, 'params': { 'keywords': request.form['keywords'], 'geocode': request.form['geocode'], 'start_date': request.form['start_date'] if request.form['mode'] == "dated_tweets" else None, 'stop_date': request.form['stop_date'] if request.form['mode'] == "dated_tweets" else None, 'start_time': request.form['start_time'] if request.form['mode'] == "dated_tweets" else None, 'stop_time': request.form['stop_time'] if request.form['mode'] == "dated_tweets" else None, 'twitter_user': request.form['twitter_user'], 'language': request.form['language'] } }) # Insertion du document session dans la collection session # Recuperation de l'id de la dernière session créée session['last_session'] = str( getSessionByObjectId(documentInserted)['_id']) return redirect( url_for('display_session', session_id=documentInserted))
def mailUser(user, subject, text): from_ = currentUser() to = getUser(user) fault.check(to, "User not found") to.sendMail("Message from %s: %s" % (from_.name, subject), "The user %s has sent a message to you.\n\nSubject:%s\n%s" % (from_.name, subject, text))