Advertisement
100hahahaha

Untitled

Jun 2nd, 2023
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 5.74 KB | None | 0 0
  1. import csv
  2. import random
  3. import string
  4. import sqlite3
  5. import cherrypy
  6.  
  7. from peewee import *
  8. from datetime import date
  9.  
  10. db = SqliteDatabase('Spravki.db')
  11.  
  12.  
  13. class Spravki(Model):
  14.     number = IntegerField()
  15.     date = DateField()
  16.     fio = CharField()
  17.     grant = IntegerField()
  18.     destination = CharField()
  19.  
  20.     class Meta:
  21.         database = db
  22.  
  23.  
  24. Spravki.create_table()
  25.  
  26.  
  27. class Table(object):
  28.     @cherrypy.expose
  29.     def index(self):
  30.         html_code = """<html>
  31.          <head>
  32.                <meta charset="utf-8">
  33.                <title>Tаблица</title>
  34.                <style>
  35.                    body {{
  36.                        background-color: black;
  37.                        font-family: Comic Sans MS, cursive, sans-serif;
  38.                    }}
  39.                    h1 {{
  40.                        color: yellow;
  41.                        font-size: 200px;
  42.                        text-align: center;
  43.                        text-shadow: -10px -10px 0 red, 10px -10px 0 red, -10px 10px 0 red, 10px 10px 0 red;
  44.                        background-image: url("https://i.imgur.com/Xxj2d6c.jpg");
  45.                        background-repeat: repeat;
  46.                        background-blur: 10px;
  47.                    }}
  48.                    td, th {{
  49.                        padding: 50px;
  50.                        font-size: 50px;
  51.                        border: 30px dotted yellow;
  52.                        cursor: pointer;
  53.                        border-radius: 100px;
  54.                        box-shadow: inset 0px 0px 20px rgba(255, 0, 0, 0.75), 0px 0px 30px green, 0px 0px 50px blue;
  55.                        text-shadow: none;
  56.                    }}
  57.                    th {{
  58.                        background-color: green;
  59.                        color: red;
  60.                    }}
  61.                    tr {{
  62.                        transition: transform 10s ease-in-out, opacity 5s ease;
  63.                    }}
  64.                    tr:hover {{
  65.                        opacity: 1;
  66.                        background-color: yellow !important;
  67.                    }}
  68.                    td:hover {{
  69.                        color: blue;
  70.                        background-image: url("https://i.imgur.com/IrV8oD9.jpg");
  71.                        background-repeat: repeat;
  72.                        text-shadow: 0px 0px 30px white;
  73.                    }}
  74.                </style>
  75.            </head>
  76.          <body>
  77.          <form method="get" action="add">
  78.              <input type="text" value="number" name="number" />
  79.              <input type="text" value="date" name="date" />
  80.              <input type="text" value="fio" name="fio" />
  81.              <input type="text" value="grant" name="grant" />
  82.              <input type="text" value="destination" name="destination" />
  83.              <button type="submit">add to database</button>
  84.          </form>
  85.          <table align="center">
  86.          <style type="text/css">
  87.          TABLE {
  88.              margin: auto;
  89.              max-width: 800px;
  90.              width: 80%;
  91.              border-collapse: separate;
  92.              border-spacing: 20px;
  93.              background-color: magenta;
  94.              opacity: 0.5;
  95.          }
  96.          TD, TH {
  97.              padding: 3px;
  98.              border: 1px solid black;
  99.          }
  100.          </style>
  101.          <p align="center">Справки из деканата</p>
  102.          <tr>
  103.          <td align="center">number</td>
  104.          <td align="center">date</td>
  105.          <td align="center">fio</td>
  106.          <td align="center">grant</td>
  107.          <td align="center">destination</td>
  108.          </tr>"""
  109.         for item in Spravki.select():
  110.             html_code += """<tr><form method="get" action="changes">
  111.              <td><input type="text" value=" """ + str(item.number) + """"name="number" /></td>
  112.              <td><input type="text" value=" """ + str(item.date) + """"name="date" /></td>
  113.              <td><input type="text" value=" """ + str(item.fio) + """"name="fio" /></td>
  114.              <td><input type="text" value=" """ + str(item.grant) + """"name="grant" /></td>
  115.              <td><input type="text" value=" """ + str(item.destination) + """"name="destination" /></td>
  116.              <td><input type="hidden" value=" """ + str(item.id) + """"name="id" /></td>
  117.              <td><button type="submit">change</button></td></tr>
  118.          </form>"""
  119.         html_code += """</table>
  120.        </body>
  121.        </html>"""
  122.  
  123.         return html_code
  124.  
  125.     @cherrypy.expose
  126.     def add(self, number="number", date="date", fio="fio", grant="grant",
  127.             destination="destination"):
  128.         flag = True
  129.         for item in Spravki.select():
  130.             if item.number == int(number):
  131.                 flag = False
  132.                 break
  133.         if flag:
  134.             Spravki(number=int(number), date=str(date), fio=str(fio), grant=int(grant),
  135.                                destination=str(destination)).save()
  136.         return Table.index(self)
  137.  
  138.     @cherrypy.expose
  139.     def changes(self, number="number", date="date", fio="fio", grant="grant",
  140.                 destination="destination", id="id"):
  141.         Spravki(number=int(number), date=str(date), fio=str(fio), grant=int(grant),
  142.                            destination=str(destination)).update(number=number)
  143.         for item in Spravki.select():
  144.             if item.id == int(id):
  145.                 item.number = int(number)
  146.                 item.date = date.replace(' ', '')
  147.                 item.fio = fio.strip()
  148.                 item.grant = int(grant)
  149.                 item.destination = destination.strip()
  150.                 item.save()
  151.                 break
  152.         return Table.index(self)
  153.  
  154.  
  155. if __name__ == '__main__':
  156.     cherrypy.quickstart(Table())
  157.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement