def LinkAutoCreate(user, content): link = Link() #content = content.replace('#',' ') link.description = content urls1 = re.findall(urlmarker.URL_REGEX,link.description) #urls = re.findall(r'(https?://\S+)', content) #r = re.compile(r'(https?://[^ ]+)') #r = re.findall("#(\w+)",content) #if urls: # link.url = urls[0] #link.description = r.sub(r'<a href="\1">\1</a>', content) #link.description = content #for link in urls: # link.sub() link.submitter = user user.userprofile.score = user.userprofile.score + 5 #adding score for content creation epoch = datetime(1970, 1, 1).replace(tzinfo=None) unaware_submission = datetime.now().replace(tzinfo=None) td = unaware_submission - epoch epoch_submission = td.days * 86400 + td.seconds + (float(td.microseconds) / 1000000) #number of seconds from epoch till date of submission secs = epoch_submission - 1432201843 #a recent date, coverted to epoch time link.rank_score = round(0 * 0 + secs / 45000, 8) link.with_votes = 0 link.category = '1' try: if len(urls1)==0: pass elif len(urls1)==1: name, image = read_image(urls1[0]) if image: image_io = StringIO.StringIO() image.save(image_io, format='JPEG') thumbnail = InMemoryUploadedFile(image_io, None, name, 'image/jpeg', image_io.len, None) link.image_file = thumbnail elif len(urls1)>=2: name, image = read_image(urls1[0]) if image: image_io = StringIO.StringIO() image.save(image_io, format='JPEG') thumbnail = InMemoryUploadedFile(image_io, None, name, 'image/jpeg', image_io.len, None) link.image_file = thumbnail else: name, image = read_image(urls1[1]) if image: image_io = StringIO.StringIO() image.save(image_io, format='JPEG') thumbnail = InMemoryUploadedFile(image_io, None, name, 'image/jpeg', image_io.len, None) link.image_file = thumbnail else: pass except Exception as e: print '%s (%s)' % (e.message, type(e)) pass link.save() user.userprofile.previous_retort = content user.userprofile.save()
def form_valid(self, form): #this processes the form before it gets saved to the database f = form.save(commit=False) #getting form object, and telling database not to save (commit) it just yet #Setting rank score epoch = datetime(1970, 1, 1).replace(tzinfo=None) unaware_submission = datetime.now().replace(tzinfo=None) td = unaware_submission - epoch epoch_submission = td.days * 86400 + td.seconds + (float(td.microseconds) / 1000000) #number of seconds from epoch till date of submission secs = epoch_submission - 1432201843 #a recent date, coverted to epoch time f.rank_score = round(0 * 0 + secs / 45000, 8) if self.request.user.is_authenticated(): f.submitter = self.request.user f.submitter.userprofile.score = f.submitter.userprofile.score + 5 #adding 5 points every time a user submits new content else: f.submitter = User(id=8) # ALWAYS set this ID to unregistered_bhoot f.submitter.userprofile.score = f.submitter.userprofile.score + 0 f.with_votes = 0 f.category = '1' # can we throw in an "are you human" test? if f.description==f.submitter.userprofile.previous_retort: return redirect(self.request.META.get('HTTP_REFERER')+"#section0") f.submitter.userprofile.previous_retort = f.description urls1 = re.findall(urlmarker.URL_REGEX,f.description) urls2 = re.findall(urlmarker.URL_REGEX,f.url) try: if len(urls1)==0: if len(urls2)==1: #eliminate that urls2[0] is a media site URL name, image = read_image(urls2[0]) if image: image_io = StringIO.StringIO() image.save(image_io, format='JPEG') thumbnail = InMemoryUploadedFile(image_io, None, name, 'image/jpeg', image_io.len, None) f.image_file = thumbnail elif len(urls1)==1: #eliminate that urls1[0] is a media site URL name, image = read_image(urls1[0]) if image: image_io = StringIO.StringIO() image.save(image_io, format='JPEG') thumbnail = InMemoryUploadedFile(image_io, None, name, 'image/jpeg', image_io.len, None) f.image_file = thumbnail elif len(urls1)>=2: #eliminate that urls1[0] is a media site URL name, image = read_image(urls1[0]) if image: image_io = StringIO.StringIO() image.save(image_io, format='JPEG') thumbnail = InMemoryUploadedFile(image_io, None, name, 'image/jpeg', image_io.len, None) f.image_file = thumbnail else: #eliminate that urls1[1] is a media site URL name, image = read_image(urls1[1]) if image: image_io = StringIO.StringIO() image.save(image_io, format='JPEG') thumbnail = InMemoryUploadedFile(image_io, None, name, 'image/jpeg', image_io.len, None) f.image_file = thumbnail else: pass except Exception as e: print '%s (%s)' % (e.message, type(e)) pass f.save() f.submitter.userprofile.save() return super(CreateView, self).form_valid(form)