def sms(): if request.method == 'POST': print >> sys.stderr, "Received POST request to /plivo/sms/" # this is how you write messages to yourself in the Apache /var/log/apache2/error.log try: s = SMS(timeAnswered = datetime.datetime.now(), action = 'super text', direction = 'incoming', smsTo = request.form['To'], smsType = request.form['Type'], smsMessageUUID = request.form['MessageUUID'], smsFrom = request.form['From'], smsText = request.form['Text'], ) print >> sys.stderr, s.direction s.save() message = request.form['Text'].lower() #response = showtimeandloc(message) #Dispatcher for the various commands try: response = commands[message[0]](message) except: response = "This was not a valid command. Try @,!,g, or h. H for help." print >> sys.stderr, response caller = request.form['From'] if User.query.filter(User.number == caller).first(): if type(response) == type(dict()): regisUser = User.query.filter(User.number == caller).first() location = response['location'] print >> sys.stderr, location hours = int(response['hours']) print >> sys.stderr, hours timeExpired = datetime.datetime.now() + datetime.timedelta(hours=hours) print >> sys.stderr, timeExpired condition = 'safe' newStatus = Status(location=location,timeEntered=datetime.datetime.now(),timeExpired=timeExpired,condition=condition) newStatus.save() regisUser.status = newStatus regisUser.save() yourStatus = 'We know you are at ' + location + ' for ' + str(hours) + ' hours. Now we are watching you.' send_txt(caller,yourStatus.upper()) elif type(response) == type(str()): send_txt(caller,response.upper(), src=MASTER_NUMBER) else: oops = 'Sorry. Please make sure you enter your status in this format: @ location 4 numberofhours.' send_txt(caller,oops.upper()) else: response = "Welcome to Panoptincon, where we aren't always watching. Your default location is Speke Apartments." timeExpired = datetime.datetime.now() + datetime.timedelta(hours=24) newStatus = Status(location='Speke Apartments',timeEntered=datetime.datetime.now(),timeExpired=timeExpired,condition='safe') newStatus.save() newUser = User(number=caller, status=newStatus, createdAt=datetime.datetime.now(), name=message, isChin=False) newUser.save() send_txt(caller,response.upper(), src=MASTER_NUMBER) except: print >> sys.stderr, str(sys.exc_info()[0]) print >> sys.stderr, str(sys.exc_info()[1]) #entering the gateway where stuff happens! else: return "These aren't the droids you're looking for. Move along, move along."
def index(request): all_messages = Status.objects.all() if request.method == "POST": msg_id = request.POST.get("msg_id", None) del_msg = request.POST.get("del_msg", None) new_msg = request.POST.get("new_msg", None) if (msg_id is not None) and (del_msg is not None): try: this_status = Status.objects.get(pk=msg_id) this_status.delete() success_msg = "Deleted message: {}".format(this_status.msg) messages.add_message(request, messages.SUCCESS, success_msg) except: error_msg = "Something went wrong while deleting message {}".format(msg_id) messages.add_message(request, messages.ERROR, error_msg) if new_msg is not None: try: new_status = Status() new_status.msg = new_msg new_status.save() success_msg = "Created new message: {}".format(new_msg) messages.add_message(request, messages.SUCCESS, success_msg) except: error_msg = "Something went wrong while creating: {}".format(new_msg) messages.add_message(request, messages.ERROR, error_msg) all_msgs = Status.objects.all() return render_to_response("status_board.html", {"all_msgs": all_msgs}, context_instance=RequestContext(request))
def status_add(request): data = JSONParser().parse(request) status_object=Status(content=data["content"],owner=request.user.profile) status_object.save() serializer=StatusSerializer(status_object) if serializer: return JSONResponse(serializer.data, status=201) return JSONResponse(serializer.errors, status=400)
def get_status(request=None): status = Status.objects.all() if status: return status[0] else: status = Status(step=1, running_status='normal') status.save() return status
def home(request): # form = StatusForm() if request.method == "POST": status = Status() status.status_text = request.POST['status_text'] status.save() print request status = Status.objects.all() return render(request, 'statusBox/home.html', {'status': status})
def post(self, request, format=None): user_id = request.DATA['user_id'] date = request.DATA['date'] temp = request.DATA['temp'] user = User.objects.get(user_id=user_id) user_status = Status(temp = temp, date = date, user = user) user_status.save() return HttpResponse(content=user_status, status=status.HTTP_201_CREATED)
def test_status_create(self): s = Status(co_num = 14456, description = 'Sample Status', role = 'Developer') s.save() t = Task(user = "******", date = date.today(), status = s, total_minutes = 13) t.save() status = str(s) task = str(t)
def set_status(request=None, step=0, running_status=''): status = Status.objects.all() if status: status = status[0] if step: status.step = step if running_status: status.running_status = running_status status.save() else: status = Status(step=step, running_status=running_status) status.save() return HttpResponseRedirect('/')
def setUp(self): s = Status(co_num = 14456, description = 'Sample Status', role = 'Developer') s.save() t = Task(user = "******", date = date(2012, 3, 18), status = s, total_minutes = 90) t.save() t2 = Task(user = "******", date = date(2012, 3, 19), status = s, total_minutes = 120) t2.save()
def store_single_status(status_dict, rewteet): """ json status dict -> database returns Status """ try: s = Status.objects.get(id = status_dict.id) except Status.DoesNotExist: s = Status() s.id = status_dict.id s.set_content(status_dict) s.retweet = rewteet s.save() return s
def status_check(context): logger.info("Checking status of LHC.") last_status = Status.select().order_by(Status.date.desc()).first() response = requests.get("https://lhc.net.br/spacenet.json") spacenet = response.json() state = spacenet.get("state", {}) is_open = state.get("open") last_change_timestamp = state.get("lastchange") last_change = datetime.fromtimestamp(last_change_timestamp) current_status = Status( is_open=is_open, last_change=last_change, date=datetime.now(), ) status = "OPEN" if is_open else "CLOSED" logger.info(f"LHC is {status} since {current_status.last_change}.") status_changed = (last_status is None or current_status.is_open != last_status.is_open) if status_changed: response = requests.get("https://lhc.net.br/spacenet.json?whois") whois = response.json() n_unknown_macs = whois.get("n_unknown_macs", 0) current_status.n_unknown_macs = n_unknown_macs if is_open: who = whois.get("who", []) current_status.who = ", ".join(who) notify_msg = f"O LHC foi aberto \U0001F513 por {current_status.who} às {current_status.last_change}." else: notify_msg = ( f"O LHC está fechado \U0001F512 desde {current_status.last_change}." ) logger.info( f"LHC status changed. Sending notification to LHC channel.") # context.bot.send_message(chat_id="@lhc_campinas", text=notify_msg) current_status.save()
def create_statuses(): if not Status.query.get(Status.PENDING_STATUS_ID): status = Status(id=Status.PENDING_STATUS_ID, name="Pending") status.save() if not Status.query.get(Status.REJECTED_STATUS_ID): status = Status(id=Status.REJECTED_STATUS_ID, name="Rejected") status.save() if not Status.query.get(Status.PROCESSING_STATUS_ID): status = Status(id=Status.PROCESSING_STATUS_ID, name="Processing") status.save() if not Status.query.get(Status.READY_STATUS_ID): status = Status(id=Status.READY_STATUS_ID, name="Ready") status.save() if not Status.query.get(5): status = Status(id=5, name="Complete") status.save() DBManager.commitSession() return
def save_status(request): id = request.POST['id'] report = Report.objects.get(id=id) message = request.POST['message'] note = request.POST['note'] user = request.user new_status = Status() new_status.tech = user new_status.report = report new_status.message = message new_status.note = note new_status.save() if message == 'p': report.completed = True report.save() return HttpResponseRedirect('/reports/' + id)
def save_status(request): id = request.POST['id'] report = Report.objects.get(id=id) message = request.POST['message'] note = request.POST['note'] user = request.user new_status = Status() new_status.tech = user new_status.report = report new_status.message = message new_status.note = note new_status.save() if message == 'p': report.completed = True report.save() return HttpResponseRedirect('/reports/' + id)
def post(request, status_id): form = forms.StatusForm(request.POST) if form.is_valid(): data = form.cleaned_data if status_id: status = utils.get_object_by_id(Status, status_id) status.body_text = data['body_text'] status.title = data['title'] status.save() else: status = Status(author = request.user, title = data['title'], body_text = data['body_text'] ) status.save() send_notification_to_admin('status', status = status, category = 'POSTED') else: raise exceptions.DataFieldMissed return {'object': status}
def cpanel_submit(request): # The user adding the request user = request.user name = request.POST['name'] phone = request.POST['phone'] email = request.POST['email'] type = request.POST['device'] os = request.POST['os'] problem = request.POST['problem'] description = request.POST['description'] deviceObj = Device() report = Report() usersWithSameEmail = User.objects.filter(email=email) reportUser = User() userFound = False for u in usersWithSameEmail: # If user exists, don't create a new one if u.email == email: reportUser = u userFound = True if not userFound: reportUser.email = email reportUser.username = name reportUser.password = '******' reportUser.save() # Get the devices the user has usersDevices = Device.objects.filter(owner=reportUser) deviceFound = False for d in usersDevices: # If the device exists recognize it, and use it if d.os == os and d.type == type: deviceObj = d deviceFound = True if not deviceFound: # Generate device object deviceObj.owner = reportUser deviceObj.os = os deviceObj.type = type deviceObj.save() # Generate Report report.owner = reportUser report.device = deviceObj report.description = description report.problem = problem report.completed = False report.save() # Generate initial status status = Status() status.report = report # Checked in message status.message = 'c' status.tech = user status.save() return cpanel(request, True)
def cpanel_submit(request): # The user adding the request user = request.user name = request.POST['name'] phone = request.POST['phone'] email = request.POST['email'] type = request.POST['device'] os = request.POST['os'] problem = request.POST['problem'] description = request.POST['description'] deviceObj = Device() report = Report() usersWithSameEmail = User.objects.filter(email=email) reportUser = User() userFound = False for u in usersWithSameEmail: # If user exists, don't create a new one if u.email == email: reportUser = u userFound = True if not userFound: reportUser.email = email reportUser.username = name reportUser.password = '******' reportUser.save() # Get the devices the user has usersDevices = Device.objects.filter(owner=reportUser) deviceFound = False for d in usersDevices: # If the device exists recognize it, and use it if d.os == os and d.type == type: deviceObj = d deviceFound = True if not deviceFound: # Generate device object deviceObj.owner = reportUser deviceObj.os = os deviceObj.type = type deviceObj.save() # Generate Report report.owner = reportUser report.device = deviceObj report.description = description report.problem = problem report.completed = False report.save() # Generate initial status status = Status() status.report = report # Checked in message status.message = 'c' status.tech = user status.save() return cpanel(request, True)
class Patero(GObject.GObject): __gsignals__ = { 'finished': (GObject.SIGNAL_RUN_FIRST, None, [GObject.TYPE_PYOBJECT]), } def __init__(self): GObject.GObject.__init__(self) queue = self.queue = JobCollection() queue.fetch() self.tasks = deque() self.status = Status() self.running = False GLib.timeout_add(500, self.transcode) GLib.timeout_add(500, self.send_status) def send_status(self, status=None): self.status.save({'_id': 1, 'running': True}) return True def transcode(self): if self.running: return True job = self.queue.findWhere({'stage': 'queued'}) if not job: return True job['stage'] = 'about-to-process' job.save() def progress_cb(task, progress): job = task.job ##logging.debug('Progress: %s', progress) job['progress'] = progress job.save() def start_cb(task, src, dst): job = task.job logging.debug('Start: %s', src) job['stage'] = 'processing' job['progress'] = 0 job.save() def error_cb(task, msg): job = task.job # XXX: get rid of all files here? logging.error('Error: %s', msg) job['stage'] = 'processing-error' if job['tasks']: job['tasks'][-1]['status'] = 'failed' job['tasks'][-1]['message'] = 'Error: ' + msg job.save() self.tasks.clear() self.running = False def status_cb(task, msg): job = task.job logging.debug('Stage: %s', msg) if job['tasks']: job['tasks'][-1]['status'] = 'done' job['tasks'].append({ 'name': msg, 'status': 'processing', 'message': '' }) job.save() def start(*args): self.running = True task = self.tasks.popleft() job = task.job if job['tasks']: job['tasks'][-1]['status'] = 'done' task.start() def success_cb(task, dst): job = task.job if job['tasks']: job['tasks'][-1]['status'] = 'done' job.save() if not self.tasks: logging.debug('Ok: %s', dst) job['stage'] = 'processing-done' job['progress'] = 0 job.save() self.emit('finished', job) self.running = False return else: start() def add_task(task): self.tasks.append(task) task.connect('progress', progress_cb) task.connect('success', success_cb) task.connect('status', status_cb) task.connect('start', start_cb) task.connect('error', error_cb) filename = job['filename'] src = os.path.join(common.workspace_dir, filename) dst = os.path.splitext(filename)[0] + '.m4v' dst = os.path.join(common.workspace_dir, dst) def on_transcode_finish(task, src, dst): task.job['output']['transcoded'] = os.path.join( common.output_dir, os.path.basename(dst)) task.job['output']['stat'] = {} # XXX: this may end up with a different inode number after moving to processed dir. try: task.job['output']['stat'] = stat_to_dict(os.stat(dst)) except OSError: pass task.job.save() _type = getFileType(src) if _type['type'] == 'video': task = Transcode(job, src, dst) task.connect('finished', on_transcode_finish) add_task(task) # yeah, looks weird but we want the md5 of the already transcoded file. task = MD5(job, src=dst) add_task(task) # even worse but we want the filmstrip of the already transcoded file. src = dst task = Filmstrip(job, src) add_task(task) task = FFmpegInfo(job, src) add_task(task) task = Thumbnail(job, src) add_task(task) else: task = MD5(job, src) add_task(task) task = Filmstrip(job, src) add_task(task) task = FFmpegInfo(job, src) add_task(task) task = Thumbnail(job, src) add_task(task) start() return True def queue_file(self, filepath, do_copy=True): try: stat = stat_to_dict(os.stat(filepath)) except OSError: return filename = os.path.basename(filepath) _type = getFileType(filepath) if not _type: logging.debug('File not recognized: %s', filepath) return # not reimplementing as mongo is quite good at this. if self.queue._col.find({ 'input.stat.mtime': stat['mtime'], 'path': filepath }).count(): return job = Job({ 'input': { 'stat': stat, 'path': filepath, }, 'output': { 'checksum': '', 'files': [], 'metadata': { 'type': _type['type'], }, }, 'filename': filename, 'stage': '', 'progress': '0', 'tasks': [], # list of: {name:'', status:'', message:''} }) job.save() if do_copy: try: copy_or_link(filepath, os.path.join(common.workspace_dir, filename)) job['stage'] = 'queued' os.unlink(filepath) except: e = sys.exc_info()[1] job['stage'] = 'processing-error' job['tasks'].append({ 'name': 'Moving files', 'status': 'failed', 'message': 'Error: ' + unicode(e), }) finally: job.save() else: job['stage'] = 'queued' job.save() self.queue.add(job)
def test_status_create(self): s = Status(co_num = 14456, description = 'Sample Status', role = 'Developer') s.save() status = str(s)