Example #1
0
def delete_collection(name):

	# retrieve collection mongo record
	logging.debug("attempting to delete %s" % name)
	try:
		c = models.Collection.objects.get(name=name)        
	except DoesNotExist:
		logging.debug("could not find collection to delete")
		return jsonify({'status':False})

	# delete collection
	models.Collection.delete(c)
	'''
	Consider removing archived tweets from filesystem?
	Consider removing archived tweets from monogodb?
	'''	

	# remove from crontab
	job = list(mycron.find_comment('twitore_%s' % name))
	logging.debug(job)
	if len(job) == 1:
		utils.deleteCron(mycron, job[0], c)		
	else:
		logging.debug('could not find cron to delete')

	# set msg in session		
	utils.setMsg(session,"collection deleted","msg_success")

	# if all goes well...	
	return redirect("/{prefix}/collections".format(prefix=localConfig.twitore_app_prefix))
Example #2
0
def create_collection():

	data = {}

	if request.method =="GET":
		return render_template("create_collection.html")

	if request.method == "POST":
		logging.debug(request.form)

		# create collection
		collection = request.form['name']

		# check for collection name
		try:
			c = models.Collection.objects.get(name=collection)        
			return jsonify({'status':False})
		except DoesNotExist:
			logging.debug("collection does not exist, continuing")


		c = models.Collection()
		c.name = request.form['name']
		c.search_terms = [term.strip() for term in request.form['search_terms'].split(",")]
		c.minute_frequency = int(request.form['minute_frequency'])
		c.save()
		logging.debug("created collection %s" % c.id)

		# set cron job
		utils.setCron(mycron,c)

		# set msg in session		
		utils.setMsg(session,"collection created","msg_success")

		return redirect("/{prefix}/collections".format(prefix=localConfig.twitore_app_prefix))
Example #3
0
def update_collection(name):

	data = {}

	# assuming POST
	logging.debug(request.form)	

	# check for collection name
	try:
		c = models.Collection.objects.get(name=name)        
	except DoesNotExist:
		logging.debug("collection does not exist, continuing")
		return jsonify({'status':False})

	c.search_terms = [term.strip() for term in request.form['search_terms'].split(",")]
	c.minute_frequency = int(request.form['minute_frequency'])
	c.save()
	logging.debug("updated collection %s" % c.id)

	# update cron job
	job = mycron.find_comment('twitore_{name}'.format(name=name))
	job = list(job)
	logging.debug(job)

	# update cron
	'''
	Consider improving the logic here
	'''
	if len(job) > 0:
		if c.minute_frequency == 0:
			utils.deleteCron(mycron, job[0], c)
		elif c.minute_frequency >= 1 and c.minute_frequency <= 59:
			utils.updateCron(mycron,job[0],c)
		else:
			logging.warning('frequency must be between 1-59 minutes. aborting.')
			utils.setMsg(session,"collection could not be updated. frequency must be between 1-59 minutes. aborted.","msg_alert")
			return redirect("/{prefix}/collection/{name}".format(prefix=localConfig.twitore_app_prefix,name=name))
	
	# set cron if not there
	else:
		# set cron job
		utils.setCron(mycron,c)

	# set msg in session		
	utils.setMsg(session,"collection updated","msg_success")

	return redirect("/{prefix}/collection/{name}".format(prefix=localConfig.twitore_app_prefix,name=name))