From 673318486943f6140e8fbabe7a49eeecd5e0d939 Mon Sep 17 00:00:00 2001 From: josedom24 Date: Fri, 9 Nov 2018 20:23:31 +0100 Subject: [PATCH] first commit --- app.py | 24 ++++ requirements.txt | 7 + sevilla.xml | 106 ++++++++++++++ static/css/arrow.png | Bin 0 -> 961 bytes static/css/arrow_select.png | Bin 0 -> 983 bytes static/css/back.png | Bin 0 -> 205 bytes static/css/panel.png | Bin 0 -> 16405 bytes static/css/pattern.png | Bin 0 -> 188 bytes static/css/style.css | 277 ++++++++++++++++++++++++++++++++++++ static/css/tabs.png | Bin 0 -> 1224 bytes templates/base.html | 45 ++++++ templates/inicio.html | 9 ++ templates/resultado.html | 5 + templates/temperaturas.html | 8 ++ 14 files changed, 481 insertions(+) create mode 100644 app.py create mode 100644 requirements.txt create mode 100644 sevilla.xml create mode 100644 static/css/arrow.png create mode 100644 static/css/arrow_select.png create mode 100644 static/css/back.png create mode 100644 static/css/panel.png create mode 100644 static/css/pattern.png create mode 100644 static/css/style.css create mode 100644 static/css/tabs.png create mode 100644 templates/base.html create mode 100644 templates/inicio.html create mode 100644 templates/resultado.html create mode 100644 templates/temperaturas.html diff --git a/app.py b/app.py new file mode 100644 index 0000000..b340380 --- /dev/null +++ b/app.py @@ -0,0 +1,24 @@ +from flask import Flask, request,url_for,render_template,abort +from lxml import etree +import os +app = Flask(__name__) + +@app.route('/',methods=["GET","POST"]) +def inicio(): + doc=etree.parse("sevilla.xml") + municipios=doc.findall("municipio") + return render_template("inicio.html",municipios=municipios) + +@app.route('/') +def temperatura(code): + try: + doc=etree.parse("http://www.aemet.es/xml/municipios/localidad_"+code+".xml") + except: + abort(404) + name=doc.find("nombre").text + max=doc.find("prediccion/dia/temperatura").find("maxima").text + min=doc.find("prediccion/dia/temperatura").find("minima").text + return render_template("temperaturas.html",name=name,max=max,min=min) + +if __name__ == '__main__': + app.run() diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..8a4a6b4 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,7 @@ +click==6.7 +Flask==0.12.2 +itsdangerous==0.24 +Jinja2==2.9.6 +lxml==4.0.0 +MarkupSafe==1.0 +Werkzeug==0.12.2 diff --git a/sevilla.xml b/sevilla.xml new file mode 100644 index 0000000..030aab6 --- /dev/null +++ b/sevilla.xml @@ -0,0 +1,106 @@ + + Alanís + Albaida del Aljarafe + Alcalá de Guadaíra + Alcalá del Río + Alcolea del Río + Algaba, La + Algámitas + Almadén de la Plata + Almensilla + Arahal + Aznalcázar + Aznalcóllar + Badolatosa + Benacazón + Bollullos de la Mitación + Bormujos + Brenes + Burguillos + Cabezas de San Juan, Las + Camas + Campana, La + Cantillana + Cañada Rosal + Carmona + Carrión de los Céspedes + Casariche + Castilblanco de los Arroyos + Castilleja de Guzmán + Castilleja de la Cuesta + Castilleja del Campo + Castillo de las Guardas, El + Cazalla de la Sierra + Constantina + Coria del Río + Coripe + Coronil, El + Corrales, Los + Cuervo de Sevilla, El + Dos Hermanas + Écija + Espartinas + Estepa + Fuentes de Andalucía + Garrobo, El + Gelves + Gerena + Gilena + Gines + Guadalcanal + Guillena + Herrera + Huévar del Aljarafe + Isla Mayor + Lantejuela, La + Lebrija + Lora de Estepa + Lora del Río + Luisiana, La + Madroño, El + Mairena del Alcor + Mairena del Aljarafe + Marchena + Marinaleda + Martín de la Jara + Molares, Los + Montellano + Morón de la Frontera + Navas de la Concepción, Las + Olivares + Osuna + Palacios y Villafranca, Los + Palomares del Río + Paradas + Pedrera + Pedroso, El + Peñaflor + Pilas + Pruna + Puebla de Cazalla, La + Puebla de los Infantes, La + Puebla del Río, La + Real de la Jara, El + Rinconada, La + Roda de Andalucía, La + Ronquillo, El + Rubio, El + Salteras + San Juan de Aznalfarache + Sanlúcar la Mayor + San Nicolás del Puerto + Santiponce + Saucejo, El + Sevilla + Tocina + Tomares + Umbrete + Utrera + Valencina de la Concepción + Villamanrique de la Condesa + Villanueva del Ariscal + Villanueva del Río y Minas + Villanueva de San Juan + Villaverde del Río + Viso del Alcor, El + \ No newline at end of file diff --git a/static/css/arrow.png b/static/css/arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..6decd7374bbe5107f396b32502ead606ee6a518f GIT binary patch literal 961 zcmZuvZ%9*76u-~CZEm9Ihb4N{g3EQnZ|q2zSg7Je)lwg}?A zFff7;3bBmpOJL>)n_pH~25D1i;V=}o-C-CZ3|qgu>F`6B`_4W0oZtDKbI*Bq>`kZg zjb%ncNWRT#ZpN9%zg!LE1rqXkdRwcxNoWKYX|_n z$JS`khYSS;wR^7CZ!W@Qa9ht`C&akUKcV48?GPavVn6M$d|UkRcPp7nrOaZB?5~C* z`w!CSBr>V`8bWlEeiXXYJxrs6V50E_8vVKB6(zludwZ&BjQqzKT~Ku~%F2~QiK?#y zIXG3_SlZY{8LHrmGKI@nN!a712{*t>vJYS-c`fYS&k=$TBJ4dZ5ec~nDS;&&RnNVg zVIj+wvFwudlzj(h+L8mV?O4I5mbxp(*DJ=qWWYjfijWN&s|A?G*5!$(NGjwfxd#Wg_OM9&}?%!o}WQ^$$bV-D3)dx=04;>xg6Or#OZY@K_RYdb?G^ixO zY~o%_B>o!;YOs2TDVqXeBoDbv;&Oj6c@luc%uFQii7q;Wo= zj8WCP`S`Rh)xhzD1bGV9ryB03Cj!_^m=%PXsdXe6A*6L=j-z&#z?D+UM5Lx{6Irr^ zfxr*ou>ygWY;EC==Rk6BLZoaCsqte>Ul@FE;$;A7elQPj+umVpi}=P)2x5JC<7p-m z9hl4R!1U+9^coSSXu=5q_UiHzyl%DsHRRarttetNp5~^rcy#DvzKm<7%`7|mmfD=o xevMA2yL?nr^GJC3>E_IpsU!Eo<&_&ne{#s7i)3te_SXTP(q?Hgzie>!{{!uGNRK%-TxM;+B zyEiO^UJODcBZ`6|e6U3@`XfY&B3sQ8&24AxVGqHG^__cFeCTk`x!?JHzw`UP^L^(| zSLdnfiuwuwsP_A$9{g9bX*B_GTai~|xT%x9z4FPCflKn>wX4p+U}yj=%bc~=esHz^ z>oO87vj2?NvTUoVIc|*wiY0_>Vc+>tfQkZ}T>F#ONdOacbp*WVRP?FnKLvM+GLIuU zKmDO_J4`ZjB7kN&24EH~GiW=4zer{RWk_y?WY%}QylC+; zZ^%Ki@E0ARWp!1tDDfI%Pi^0KGfPi%T4MRPp29l0I;%e%07}! z8aBzfQw@S)W4%eP*eFyX$0bYvR}16!_vpjM*fRj$;E1OSBwHjo7ETiqj$oQlyC!sF z88sn9Xb^Fd8`}1U?1Z-IULVQD_J9Ec)Q{lZd30^ulHSaI*6n88Vn;l&{eRPF;+Dta zlT1P_p|X>Cu_L)68kmFC6ee^Y1=lJuR>*o~#%hY<>%j7=OSjcc)@wpVbu&TeoKbwP zT-I;I%5H#~5N7QYLYj^70TL_(jcT^LdPk7eXsfAaQE*R$sBlJ@=pG?u~B)z4*}Q$iB}D%?GX literal 0 HcmV?d00001 diff --git a/static/css/panel.png b/static/css/panel.png new file mode 100644 index 0000000000000000000000000000000000000000..b5d484dee7144ec0475eb263e7ff6ffef19b0d4e GIT binary patch literal 16405 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 ZTL~{0#g8HXyTA`7B_=OgBVriz{{hptB8LC~ literal 0 HcmV?d00001 diff --git a/static/css/pattern.png b/static/css/pattern.png new file mode 100644 index 0000000000000000000000000000000000000000..fa3c2f6c4f203813e1d1dd5e9a4e63df1011e484 GIT binary patch literal 188 zcmeAS@N?(olHy`uVBq!ia0vp^AT}2V6Od#Ihv1Z-O#TH_z+U3%>&kwcRhma%;`4rozd#|*0*}aIpgA8vn9*sC$qb;Nm8Xki zNX4z>JA1O!nE4JI);`eU{_ga1exHgb4LoW#MG;FTKE1H?;*)?ShED}9MLb<_X~z?X dOF&5m2F=Z~#=lIm;(?|xc)I$ztaD0e0syk{J*fZy literal 0 HcmV?d00001 diff --git a/static/css/style.css b/static/css/style.css new file mode 100644 index 0000000..ce8b701 --- /dev/null +++ b/static/css/style.css @@ -0,0 +1,277 @@ +* +{ margin: 0; + padding: 0;} + +body +{ font-family: 'trebuchet ms', arial, sans-serif; + padding: 0px; + margin: 0px; + font-size: .80em; + background: #E9E4C7 url(pattern.png); + color: #555;} + +p +{ margin: 0px; + padding: 0px 0px 16px 0px; + line-height: 1.7em;} + +h1, h2, h3, h4, h5, h6 +{ color: #362C20; + padding: 0 0 5px 0;} + +h1, h4 +{ font: normal 175% "century gothic", arial; + margin: 0 0 15px 0; + padding: 15px 20px 5px 0; + color: #444;} + +h2, h5 +{ padding: 0 0 5px 0; + font: normal 110% arial; + text-transform: uppercase; + letter-spacing: 0;} + +h3, h6 +{ color: #888; + font: normal 95% arial; + letter-spacing: 0; + padding: 0 0 15px 0;} + +h4 +{ color: #362C20;} + +h5, h6 +{ color: #129991;} + +img +{ border: 0px; + margin: 0px; + padding: 0px;} + +.left +{ float: left; + border-right: 20px solid #FFF;} + +.right +{ float: right; + border-left: 20px solid #FFF;} + +.center +{ display: block; + text-align: center; + margin: 0 auto;} + +blockquote +{ margin: 20px 0px 20px 0px; + padding: 10px 20px 0px 20px; + border: 1px solid #E5E5DB; + background: #F5F5F1;} + +ul +{ margin: 2px 0px 18px 16px; + padding: 0px;} + +ul li +{ list-style-type: square; + margin: 0px 0px 6px 0px; + padding: 0px;} + +ol +{ margin: 8px 0px 0px 24px; + padding: 0px;} + +ol li +{ margin: 0px 0px 11px 0px; + padding: 0px;} + +a, a:hover +{ outline: none; + border-bottom: 1px dotted; + text-decoration: none; + color: #444;} + +a:hover +{ border-bottom: 1px solid;} + +#logo, #menubar, #panel, #site_content, #footer +{ margin-left: auto; + margin-right: auto;} + +#header +{ background: url(back.png) repeat-x;} + +#logo +{ width: 870px; + position: relative; + height: 107px;} + +#logo #logo_text +{ position: absolute; + top: 15px; + left: 0;} + +#logo h1 +{ font: normal 300% "century gothic", arial, sans-serif; + border-bottom: 0; + text-transform: none; + padding: 12px 0 0 26px; + color: #FFF; + margin: 0;} + +#menubar +{ width: 879px; + height: 45px; + padding-left: 5px;} + +ul#menu{float: right;margin: 0px;} + +ul#menu li +{ float: left; + margin: 7px 0 0 0; + padding: 0 0 0 6px; + list-style: none;} + +ul#menu li a +{ font-size: 110%; + display: block; + float: left; + height: 25px; + border-bottom: 0; + text-decoration: none; + padding: 8px 32px 5px 26px; + text-align: center; + color: #FFF; + text-transform: uppercase;} + +ul#menu li.tab_selected a +{ height: 25px; + padding: 8px 32px 5px 26px;} + +ul#menu li.tab_selected +{ margin: 7px 0 0 0; + background: transparent url(tabs.png) no-repeat 0 0px;} + +ul#menu li.tab_selected a, ul#menu li.tab_selected a:hover +{ background: url(tabs.png) no-repeat 100% 0px; + color: #000;} + +ul#menu li a:hover +{ color: #27C0FF;} + +#panel +{ width: 792px; + height: 154px; + border: 15px solid #F3F2EF;} + +#site_content +{ width: 875px; + background: #FFF; + overflow: hidden; padding-top: 20px;} + +.sidebar +{ float: right; + width: 178px; + padding: 20px 25px 15px 15px;} + +.sidebar ul +{ width: 178px; + padding-top: 4px; + margin: 4px 0px 30px 0px;} + +.sidebar li +{ list-style: none; + padding: 0px 0px 4px 0px;} + +.sidebar li a, .sidebar li a:hover +{ text-decoration: none; + padding: 0px 0px 0px 18px; + display: block; + background: transparent url(arrow.png) no-repeat left center; + color: #555; + border: none;} + +.sidebar li a.selected, .sidebar li a:hover, .sidebar li a.selected:hover +{ background: transparent url(arrow_select.png) no-repeat left center;} + +#content +{ text-align: left; + width: 597px; + padding: 20px 10px 15px 26px;} + +#footer +{ width: 780px; + height: 33px; + padding: 20px 20px 4px 20px; + margin-bottom: 20px; + text-align: center; + background: transparent; + color: #444; + text-transform: uppercase;} + +.alternate_colour +{ color: #27C0FF;} + +.form_settings +{ margin: 15px 0 0 0;} + +.form_settings p +{ padding: 0 0 4px 0;} + +.form_settings span +{ float: left; + width: 200px; + text-align: left;} + +.form_settings input, .form_settings textarea +{ padding: 4px; + width: 299px; + font: 100% arial; + border: 1px solid #E5E5DB; + background: #FFF; + color: #47433F;} + +.form_settings .submit +{ font: 100% arial; + border: 1px solid; + width: 99px; + margin: 0 0 0 210px; + height: 36px; + padding: 2px 0 3px 0; + cursor: pointer; + background: #3B3B3B; + color: #FFF;} + +.form_settings textarea, .form_settings select +{ font: 100% arial; + width: 299px;} + +.form_settings select +{ width: 304px;} + +.form_settings .checkbox +{ margin: 4px 0; + padding: 0; + width: 14px; + border: 0; + background: none;} + +.separator +{ width: 100%; + height: 0; + border-top: 1px solid #D9D5CF; + border-bottom: 1px solid #FFF; + margin: 0 0 20px 0;} + +table +{ margin: 10px 0 30px 0;} + +table tr th, table tr td +{ text-align: left; + background: #3B3B3B; + color: #FFF; + padding: 7px 4px;} + +table tr td +{ background: #CCCCCC; + color: #47433F; + border-top: 1px solid #FFF;} \ No newline at end of file diff --git a/static/css/tabs.png b/static/css/tabs.png new file mode 100644 index 0000000000000000000000000000000000000000..201070c4803d2fdcd749b738b28e36672177a388 GIT binary patch literal 1224 zcmeAS@N?(olHy`uVBq!ia0y~yVAKJ!wKRySSjBaM0EBx@h;Xz(eVZO1Ef$=fH39%tbabd~v;VB6bX~|LPDKVL8aoHIOIhjcX z*(rtj=|u$@B}G}K#n}~Q1(oH6)fGiGmBl+Yt^EK0KhPngU^E1%8v_4-e^{_!Nkc;e zD0%&70H-n_0b&7x86RUlFqc_*x;TbZ+@Q-erbx;f~hAyb(?1EZ%kOX@!9ro0^IkC_pb4*?qChx zx#oJwWx1q-xm8ai`VBMrH!Ae@%e=N@d8;Va@^D^q?@6H0fu)AWce!1YOJY2p-B-%F z7O4ML!O4wn#z~x8o-=M-vMplXmi7pTy56aN9jXq?w;Vf^>N&w(XQS>kXC1~ORWaph z42F8%YvRI6dVyM{#JzQ5rZMDhEQn;{O*)yoQDP&Dl$(y>kz0%#%N*9o3S_e%xwY^Z z*AFFKM;QU{SK{3L3mt-!zV6WBe6(-R13~YGSKRx62ERI$+;M-i%89QXs-ek8`Rea; zZ;AcM^1lC;vyR0t)3EoEK<~Xdoh%Unq-7p`<}SMTk$a9<@JUdtdAj + + + + {% block title %}{% endblock %} + + + + + +
+ +
+
tree tops
+ +
+ {% block content %}{% endblock %} +
+
+ +
+
Diseño descargado desde plantillas web gratis.
+ \ No newline at end of file diff --git a/templates/inicio.html b/templates/inicio.html new file mode 100644 index 0000000..ecf8d62 --- /dev/null +++ b/templates/inicio.html @@ -0,0 +1,9 @@ +{% extends "base.html" %} +{% block title %}Temperaturas{% endblock %} +{% block content %} +
    + {% for m in municipios:%} +
  • {{m.text}}
  • + {% endfor%} +
+{% endblock %} \ No newline at end of file diff --git a/templates/resultado.html b/templates/resultado.html new file mode 100644 index 0000000..f9538b5 --- /dev/null +++ b/templates/resultado.html @@ -0,0 +1,5 @@ +{% extends "base.html" %} +{% block title %}{{titulo}}{% endblock %} +{% block content %} +

{{resultado}}

+{% endblock %} \ No newline at end of file diff --git a/templates/temperaturas.html b/templates/temperaturas.html new file mode 100644 index 0000000..1aaec66 --- /dev/null +++ b/templates/temperaturas.html @@ -0,0 +1,8 @@ +{% extends "base.html" %} +{% block title %}Temperaturas{% endblock %} +{% block content %} +

Temperaturas en {{name}}

+

Temperatura máxima:{{max}}ºC

+

temperatura mínima:{{min}}ºC

+ Volver +{% endblock %} \ No newline at end of file