commit
4700686dbf
6 changed files with 92 additions and 0 deletions
@ -0,0 +1,13 @@ |
|||||||
|
from flask import Flask |
||||||
|
from flask import render_template |
||||||
|
import time_counter |
||||||
|
|
||||||
|
app = Flask(__name__) |
||||||
|
|
||||||
|
@app.route('/') |
||||||
|
def home(): |
||||||
|
return render_template('app.html') |
||||||
|
|
||||||
|
@app.route('/time') |
||||||
|
def getTime(): |
||||||
|
return time_counter.getTimeBeforeSummer() |
||||||
Binary file not shown.
@ -0,0 +1,55 @@ |
|||||||
|
<!DOCTYPE html> |
||||||
|
<html lang="en"> |
||||||
|
|
||||||
|
<head> |
||||||
|
<meta charset="UTF-8"> |
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge"> |
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0"> |
||||||
|
<title>Ждём лета</title> |
||||||
|
</head> |
||||||
|
<style> |
||||||
|
body { |
||||||
|
margin: 0; |
||||||
|
padding: 0; |
||||||
|
} |
||||||
|
|
||||||
|
.timer_frame { |
||||||
|
margin: 0; |
||||||
|
padding: 0; |
||||||
|
font-family: arial; |
||||||
|
font-size: 5vw; |
||||||
|
outline: dashed 1px black; |
||||||
|
height: 100vh; |
||||||
|
/* Center child horizontally*/ |
||||||
|
text-align: center; |
||||||
|
|
||||||
|
display: flex; |
||||||
|
flex-direction: column; |
||||||
|
justify-content: center; |
||||||
|
} |
||||||
|
</style> |
||||||
|
|
||||||
|
<body> |
||||||
|
<div class="timer_frame"> |
||||||
|
<p id="timer_data" class="timer_data">До лета осталось 14д 3ч 24м 30с</p> |
||||||
|
</div> |
||||||
|
</body> |
||||||
|
<script> |
||||||
|
async function fetchAsync (url) { |
||||||
|
let response = await fetch(url); |
||||||
|
let data = await response; |
||||||
|
return data.text(); |
||||||
|
} |
||||||
|
|
||||||
|
async function updateInfoAsync() { |
||||||
|
let url = "/time"; |
||||||
|
let info = await fetchAsync(url); |
||||||
|
let elem = document.getElementById("timer_data"); |
||||||
|
elem.textContent = "До лета осталось " + info; |
||||||
|
setTimeout(updateInfoAsync, 1000) |
||||||
|
} |
||||||
|
|
||||||
|
updateInfoAsync(); |
||||||
|
|
||||||
|
</script> |
||||||
|
</html> |
||||||
@ -0,0 +1,18 @@ |
|||||||
|
import datetime |
||||||
|
|
||||||
|
|
||||||
|
def getTimeBeforeSummer(): |
||||||
|
n = datetime.datetime.now(tz=None) |
||||||
|
year = n.year |
||||||
|
|
||||||
|
if n.month > 8: |
||||||
|
year += 1 |
||||||
|
|
||||||
|
summer = datetime.datetime(year, 6, 1) |
||||||
|
summer_time = summer - n |
||||||
|
|
||||||
|
h = str(summer_time.seconds // 3600) |
||||||
|
m = str((summer_time.seconds % 3600) // 60) |
||||||
|
s = str(summer_time.seconds % 60) |
||||||
|
|
||||||
|
return str(summer_time.days) + ' д ' + h + ' ч ' + m + ' мин ' + s + ' сек' |
||||||
Loading…
Reference in new issue