Advertisement
TylerD5991

Python

Jan 21st, 2020
528
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 7.82 KB | None | 0 0
  1. from django.shortcuts import render, redirect
  2. from django.http import HttpResponse
  3. from django.contrib.auth import authenticate, login
  4. from django.contrib.auth.models import User
  5. from .forms import loginForm, RegisterForm, AddPasteForm, SearchPasteForm, AskTheQuestionForm
  6. from django.contrib import messages
  7. from .models import Paste, Category
  8. import re
  9. from django.utils.timezone import datetime
  10. from django.core.mail import send_mail, BadHeaderError
  11. from django.conf import settings
  12. import smtplib
  13. from django.core.mail import send_mail
  14. from pbwrap import Pastebin, Paste as ModelPaste
  15. import os
  16.  
  17. # pasteBianApiDevKey = "a51096bb75f9fd72f3cb99f39841ac8d"
  18. pasteBianApiLogin = "TylerD5991"
  19. pasteBianApiPassword = "Tyler12#"
  20. pastebinApi = Pastebin("04268b73d303d94bcb8019e257eb0c99")
  21. # pastebinApi = Pastebin()
  22. userid = pastebinApi.authenticate(pasteBianApiLogin,pasteBianApiPassword)
  23. print(userid)
  24. print(userid + "Dupa")
  25. # Create your views here.
  26.  
  27. # x = ModelPaste({
  28. #             "api_dev_key": pasteBianApiDevKey,
  29. #             "api_user_key": userid,
  30. #             "api_paste_code": "DSAdasdasd",
  31. #             "api_paste_private": 0,
  32. #             "api_paste_name": "AAA",
  33. #             "api_paste_expire_date": None,
  34. #             "api_paste_format": 'C',
  35. #         })
  36.  
  37.  
  38.  
  39.  
  40. # print(x.__getattribute__("api_paste_format")+"AAA")
  41. bb = pastebinApi.get_user_pastes(9)
  42. # bb.__getattribute__("api_paste_format")
  43. for i in range(0,len(bb),1):
  44.     print(bb[i].key)
  45.  
  46.  
  47.  
  48.  
  49. lista = []
  50.  
  51.  
  52.  
  53.  
  54. # pastebinApi.get_user_pastes().__getattribute__("api_paste_format")
  55. # print(x)
  56.  
  57. # x = pastebinApi.get_user_pastes().get_raw_text()
  58. def loginApp(request):
  59.     if request.method == "POST":
  60.         form = loginForm(request.POST)
  61.         if form.is_valid():
  62.             username = request.POST['login']
  63.             password = request.POST['password']
  64.             user = authenticate(request, username = username, password = password)
  65.             if user is not None:
  66.                 login(request, user)
  67.             else:
  68.                 x = messages.warning(request,'Wprowadzoo błędne dane')
  69.     if(request.user.is_authenticated):
  70.         return redirect('/wklejkaapp/addpaste/')
  71.     else:
  72.         form = loginForm()
  73.         return render(request, 'login.html', {'form':form})
  74.  
  75.  
  76. def addPaste(request):
  77.  
  78.  
  79.     if(request.user.is_authenticated):
  80.         categories = Category.objects.exclude(name = 'Wszystkie')
  81.         date = datetime.now
  82.         if request.method =='POST':
  83.             form = AddPasteForm(request.POST)
  84.             if form.is_valid():
  85.                 cd = form.cleaned_data
  86.                 content = request.POST['content']
  87.                 category = request.POST['category']
  88.                 ctg = Category.objects.get(id=cd.get('category'))
  89.                 paste = Paste(pasteKey="XyzcR2",namePaste="AA", content=content, category=ctg, owner=request.user)
  90.                 # pasteLink = pastebinApi.create_paste(content, 0, None, None,'C')
  91.                 # pasteId =str(pasteLink).replace('https://pastebin.com/','')
  92.                 paste.save()
  93.                 messages.success(request, "Dodano wklejke")
  94.                 return render(request, 'addpaste.html', {'form': form, 'categories': categories,'date':date })
  95.         else:
  96.  
  97.             pastesList = pastebinApi.get_user_pastes()
  98.             print(pastesList)
  99.             for paste in pastesList:
  100.                 try:
  101.                     Paste.objects.get(pasteKey=paste.key)
  102.                 except Exception:
  103.                     cdg = Category.objects.get(name=paste.format_long)
  104.                     print(cdg)
  105.                     pasteLocal = Paste(pasteKey=paste.key, content=paste.get_raw_text(),
  106.                                    category=cdg, owner=request.user)
  107.                     pasteLocal.save()
  108.  
  109.  
  110.  
  111.             form = AddPasteForm()
  112.  
  113.         return render(request, 'addpaste.html', {'form':form, 'categories':categories,'date':date })
  114.     else:
  115.         return redirect(request, '/wklejkaapp/')
  116.  
  117. def searchPaste(request):
  118.     if (request.user.is_authenticated):
  119.         categories = Category.objects.all()
  120.         if request.method == 'POST':
  121.             form = SearchPasteForm(request.POST)
  122.  
  123.             if form.is_valid():
  124.                 category = request.POST['category']
  125.                 if str(Category.objects.get(name="Wszystkie").id) in category:
  126.                     pastes = Paste.objects.all().order_by('releaseDate')
  127.                     pastes.reverse()
  128.                 else:
  129.                     pastes = Paste.objects.filter(category=category).order_by('releaseDate')
  130.                     pastes.reverse()
  131.  
  132.                     if len(pastes)<1:
  133.                         messages.warning(request, "Brak wklejek")
  134.                 return render(request, 'searchpaste.html', {'form':form,'pastes':pastes, 'categories':categories,'active_category':Category.objects.get(id=category).name})
  135.             return HttpResponse(request, "Niedzoała")
  136.         else:
  137.             categories = Category.objects.all()
  138.             pastes = Paste.objects.all()
  139.             form = SearchPasteForm
  140.             return render(request, 'searchpaste.html',{'form':form,'pastes':pastes, 'categories':categories})
  141.     else:
  142.         return redirect(request, '/wklejkaapp/')
  143.  
  144. def viewPaste(request, pk):
  145.     if (request.user.is_authenticated):
  146.         paste = Paste.objects.get(id=pk)
  147.         print(paste.owner.email)
  148.         if request.method == 'POST':
  149.             form = AskTheQuestionForm(request.POST)
  150.             if form.is_valid():
  151.                 subject = request.POST['subject']
  152.                 message = request.POST['message']
  153.                 mailfrom = getattr(settings, 'DEFAULT_EMAIL', ' ')
  154.                 try:
  155.                     send_mail(subject, "Użytkownik " + request.user.username +" wysyła link "+message, mailfrom, ['Odamian687@gmail.com','orzel.damian5991@gmail.com'])
  156.                 except Exception as e:
  157.                     return HttpResponse(e)
  158.                 return render(request, 'viewpaste.html', {'paste':paste, 'form':form})
  159.         else:
  160.             form = AskTheQuestionForm
  161.             return render(request, 'viewpaste.html',{'paste':paste,'form':form})
  162.     else:
  163.         return redirect(request, '/wklejkaapp/')
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174. def registerApp(request):
  175.     if request.method == "POST":
  176.         form = RegisterForm(request.POST)
  177.         if form.is_valid():
  178.             username = request.POST['login']
  179.             email = request.POST['email']
  180.             password = request.POST['password']
  181.  
  182.             try:
  183.                 User.objects.get(username=username)
  184.                 getUsername = True
  185.             except User.DoesNotExist:
  186.                 getUsername = False
  187.             try:
  188.                 User.objects.get(email=email)
  189.                 getEmail = True
  190.             except User.DoesNotExist:
  191.                 getEmail = False
  192.  
  193.             if getUsername:
  194.                 messages.warning(request,"Podana nazwa użytkownika jest zajęta")
  195.             elif getEmail:
  196.                 messages.warning(request, "Zakdładano konto na ten email")
  197.             elif(not re.search(r"(^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$)" ,email)):
  198.                 messages.warning(request, "Podano nnieprawidłowy email")
  199.             else:
  200.                 print(email)
  201.                 user, created = User.objects.get_or_create(username=username, email=email)
  202.                 if created:
  203.                     user.set_password(password)
  204.                     user.save()
  205.                     return redirect('/wklejkaapp/')
  206.                 else:
  207.                     messages.warning(request,"Użytkownik istnieje")
  208.     if not request.user.is_authenticated:
  209.         form = RegisterForm
  210.         return render(request,'register.html', {'form':form})
  211.     else:
  212.         return redirect('/wklejkaapp/addpaste')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement