def check_new_rss(rss_id): rss = Rss.objects.get(id=rss_id) feed_list = scrap_rss(rss.link, 0) for feed in feed_list: feed['rss'] = rss feed_item = Feed(**feed) feed_item.save()
def setUpClass(cls): """ Create user, rss and feed for tests :return: """ super().setUpClass() data = { 'email': '*****@*****.**', 'password': '******' } user = User.register_user(email=data['email'], password=data['password']) user.confirm_email() user.is_staff = True user.is_superuser = True user.save() cls.header = {'HTTP_AUTHORIZATION': f'JWT {user.generate_token()}'} varzesh3_data = { 'title': 'Varzesh3', 'link': 'https://www.varzesh3.com/rss/all' } rss = Rss(**varzesh3_data) rss.save() feed_data = { 'title': 'some title', 'link': 'some link', 'published': 1613298529, 'description': 'some description', 'rss': rss, } feed = Feed(**feed_data) feed.save()
def addFeeds(request): #authentications username = None if request.user.is_authenticated(): username = request.user.username else: #If user is not authenticated,return corresponding api error code: newData = { 'status': 401, #bad credential 'media type': 'application/json', 'exception': 'credential failed. Please check your username and password' } return render(request, 'feed/addFeed_response.html.html', {'data': json.dumps(newData)}) if request.method == 'GET': #display for brower api return render(request, 'feed/addFeed.html', {'username': username}) elif request.method == 'POST': try: #avoid all misleading operation exception data = json.loads( request.POST.get('content')) # change into json format url = data['url'] name = data['name'] #check feed name is in the db: duplicate feed name is not allowed if Feed.objects.filter(name=name): newData = { 'status': 400, 'exception': 'Duplicated:Feed is existed' } return render(request, 'feed/addFeed_response.html', {'data': json.dumps(newData)}) #get user name userid = User.objects.get(username=username) # save db feedEntry = Feed(url=url, name=name, creator=userid) feedEntry.save() newData = { 'status': 200, 'url': url, 'name': name, 'action': 'add feed', 'media type': 'application/json', } except: newData = { 'status': 400, 'exception': 'wrong json format/[url] and [name] is a must in the messgae body', } #process feed adding return render(request, 'feed/addFeed_response.html', {'data': json.dumps(newData)})
def plan(request): act = Activity() act.participants = selectUser(request.user) act.num_participants = 2 act.save() for u in act.participants: feed = Feed(user=u, content=act) feed.save() return HttpResponse("ok")
def check_rss_every_hour(): for rss in Rss.objects.filter(is_active=True): last_time = rss.feed_set.first() last_time = last_time.published if last_time else 0 feed_list = scrap_rss(rss.link, last_time) for feed in feed_list: feed['rss'] = rss feed_item = Feed(**feed) feed_item.save()
def addFeeds(request): #authentications username= None if request.user.is_authenticated(): username = request.user.username else: #If user is not authenticated,return corresponding api error code: newData = { 'status': 401, #bad credential 'media type':'application/json', 'exception': 'credential failed. Please check your username and password' } return render(request,'feed/addFeed_response.html.html',{'data':json.dumps(newData)}) if request.method == 'GET': #display for brower api return render(request,'feed/addFeed.html',{'username':username}) elif request.method == 'POST': try:#avoid all misleading operation exception data = json.loads(request.POST.get('content')) # change into json format url = data['url'] name = data['name'] #check feed name is in the db: duplicate feed name is not allowed if Feed.objects.filter(name =name): newData = {'status':400, 'exception':'Duplicated:Feed is existed'} return render(request,'feed/addFeed_response.html',{'data':json.dumps(newData)}) #get user name userid = User.objects.get(username = username) # save db feedEntry = Feed(url = url, name=name, creator=userid) feedEntry.save() newData = { 'status': 200, 'url': url, 'name':name, 'action':'add feed', 'media type':'application/json', } except : newData = { 'status':400, 'exception':'wrong json format/[url] and [name] is a must in the messgae body', } #process feed adding return render(request,'feed/addFeed_response.html',{'data':json.dumps(newData)})
def edit_collection(request, slug): collection = get_object_or_404(Collection, slug=slug) if request.method == 'POST': feeds = request.POST.get('feeds') if not feeds: url = reverse('edit_collection', kwargs={'slug': collection.slug}) return redirect(url) for feed_url in feeds.splitlines(): feed_obj = Feed() feed_obj.url = feed_url feed_obj.save() feed_obj.collections.add(collection) feed_obj.save() feed_obj.update_info() redirect_url = reverse('view_collection', kwargs={'slug': collection.slug}) return redirect(redirect_url) elif request.method == 'GET': return render(request, 'feed/edit_collection.html')
def create_mysql_feed(mongo_feed, user): feed_id = str(mongo_feed.id) mysql_feed_query = Feed.objects.filter(feed_obj_id=feed_id) if mysql_feed_query: mysql_feed = mysql_feed_query else: mysql_feed = Feed( keywords=mongo_feed.keywords, talent_level=mongo_feed.talent_level, expect_area=mongo_feed.expect_area, job_desc=mongo_feed.job_desc, salary_min=mongo_feed.salary_min, salary_max=mongo_feed.salary_max, feed_type=mongo_feed.feed_type, job_welfare=','.join(mongo_feed.job_welfare) if mongo_feed.job_welfare else '', language=mongo_feed.language, degree=mongo_feed.degree, major=mongo_feed.major, job_type=mongo_feed.job_type, user=user, expire_time=mongo_feed.expire_time, feed_expire_time=mongo_feed.feed_expire_time, feed_obj_id=str(mongo_feed.id), ) job_domain = [ get_object_or_none( CompanyCategory, category=domain, ) for domain in mongo_feed.job_domain ] prefer = [ get_object_or_none( CompanyCategoryPrefer, name=name, ) for name in mongo_feed.company_prefer ] mysql_feed.save() mysql_feed.job_domain.add(*job_domain) mysql_feed.company_prefer.add(*prefer) mysql_feed.save() return mysql_feed
def signup(request): if request.method == 'POST': form = SignUpForm(request.POST) if not form.is_valid(): return render(request, 'user/signup.html', {'form': form}) else: username = form.cleaned_data.get('username') email = form.cleaned_data.get('email') password = form.cleaned_data.get('password') User.objects.create_user(username=username, password=password, email=email) user = authenticate(username=username, password=password) login(request, user) welcome_post = u'{0} has joined the network.'.format( user.username, user.username) feed = Feed(user=user, post=welcome_post) feed.save() return redirect('/') else: return render(request, 'user/signup.html', {'form': SignUpForm()})
def add_rss(self, params, url): feed = Feed.objects.filter(url=url).first() if feed: f2u = Feed2User.objects.filter( owner_feed=feed, owner_user_id=self.get_meid()).first() if f2u: raise Exception('订阅地址已添加') else: feed = Feed(url=url) feed_data = get_feed(url) dic2obj(feed_data, ['title', 'subtitle'], feed) feed.save() Post.create_by_entries(feed.id, feed_data.get('entries')) Feed2User.objects.create(owner_user_id=self.get_meid(), owner_feed=feed) return { 'id': feed.id, 'title': feed.title, 'subtitle': feed.subtitle, 'url': url, }
def do_task(self, task_code): if task_code == 'commit_customization': feed = Feed( user=self.user, deleted=False, ) feed = feed.save() return True # if task_code == 'lookup_resume': # request = HttpRequest() # request.user = self.user # self.do_resume_read_task(request) if task_code == 'collect_resume': watch_record = UserWatchResume( user=self.user, resume_id='567cd2bd563310078dda3db9', feed_id='522db684fb6dec1d505249f9', add_time=datetime.datetime.now(), type=1, ) watch_record = watch_record.save() return True if task_code == 'download_resume': buy_record = ResumeBuyRecord( user=self.user, resume_id='', resume_url='', status='LookUp' ) buy_record = buy_record.save() return True if task_code == 'mark_resume': buy_record = ResumeBuyRecord.objects.all() buy_record = buy_record[0] mark_record = DownloadResumeMark( buy_record=buy_record, mark_time=datetime.datetime.now() ) mark_record = mark_record.save() return True # if task_code == 'feedback_resume': # result = self.c.post() # self.assertEqual(result.status_code, 200) if task_code == 'buy_package': order = UserOrder.objects.all() order = order[0] order.order_status = 'paid' order.order_type = 1 order = order.save() return True if task_code == 'send_company_card': send_record = SendCompanyCard(send_user=self.user) send_record.save() return True if task_code == 'mutual_recruitment': upload_record = UploadResume(user=self.user) upload_record.save() return True if task_code == 'user_portrait': questionnaire_record = QuestionnaireResult(user=self.user) questionnaire_record.save() return True
def do_task(self, task_code): if task_code == 'commit_customization': feed = Feed( user=self.user, deleted=False, ) feed = feed.save() return True # if task_code == 'lookup_resume': # request = HttpRequest() # request.user = self.user # self.do_resume_read_task(request) if task_code == 'collect_resume': watch_record = UserWatchResume( user=self.user, resume_id='567cd2bd563310078dda3db9', feed_id='522db684fb6dec1d505249f9', add_time=datetime.datetime.now(), type=1, ) watch_record = watch_record.save() return True if task_code == 'download_resume': buy_record = ResumeBuyRecord(user=self.user, resume_id='', resume_url='', status='LookUp') buy_record = buy_record.save() return True if task_code == 'mark_resume': buy_record = ResumeBuyRecord.objects.all() buy_record = buy_record[0] mark_record = DownloadResumeMark(buy_record=buy_record, mark_time=datetime.datetime.now()) mark_record = mark_record.save() return True # if task_code == 'feedback_resume': # result = self.c.post() # self.assertEqual(result.status_code, 200) if task_code == 'buy_package': order = UserOrder.objects.all() order = order[0] order.order_status = 'paid' order.order_type = 1 order = order.save() return True if task_code == 'send_company_card': send_record = SendCompanyCard(send_user=self.user) send_record.save() return True if task_code == 'mutual_recruitment': upload_record = UploadResume(user=self.user) upload_record.save() return True if task_code == 'user_portrait': questionnaire_record = QuestionnaireResult(user=self.user) questionnaire_record.save() return True