9 changed files with 156 additions and 0 deletions
@ -0,0 +1,3 @@ |
|||
# Default ignored files |
|||
/shelf/ |
|||
/workspace.xml |
@ -0,0 +1,6 @@ |
|||
<component name="InspectionProjectProfileManager"> |
|||
<settings> |
|||
<option name="USE_PROJECT_PROFILE" value="false" /> |
|||
<version value="1.0" /> |
|||
</settings> |
|||
</component> |
@ -0,0 +1,10 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
<project version="4"> |
|||
<component name="Black"> |
|||
<option name="sdkName" value="Python 3.12 (restAPIpy)" /> |
|||
</component> |
|||
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.12 (restAPIpy)" project-jdk-type="Python SDK" /> |
|||
<component name="PyCharmProfessionalAdvertiser"> |
|||
<option name="shown" value="true" /> |
|||
</component> |
|||
</project> |
@ -0,0 +1,8 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
<project version="4"> |
|||
<component name="ProjectModuleManager"> |
|||
<modules> |
|||
<module fileurl="file://$PROJECT_DIR$/.idea/restAPIpy.iml" filepath="$PROJECT_DIR$/.idea/restAPIpy.iml" /> |
|||
</modules> |
|||
</component> |
|||
</project> |
@ -0,0 +1,10 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
<module type="PYTHON_MODULE" version="4"> |
|||
<component name="NewModuleRootManager"> |
|||
<content url="file://$MODULE_DIR$"> |
|||
<excludeFolder url="file://$MODULE_DIR$/.venv" /> |
|||
</content> |
|||
<orderEntry type="inheritedJdk" /> |
|||
<orderEntry type="sourceFolder" forTests="false" /> |
|||
</component> |
|||
</module> |
@ -0,0 +1,19 @@ |
|||
import requests |
|||
|
|||
url = "http://localhost:8000/api/data" |
|||
|
|||
response = requests.get(url) |
|||
|
|||
if response.status_code == 200: |
|||
data = response.json() |
|||
print(data) |
|||
else: |
|||
print("Chyba:", response.status_code) |
|||
|
|||
teplota = data["teplota"] |
|||
print(f"Teplota: {teplota}°C") |
|||
vlhkost = data["vlhkost"] |
|||
print(f"Vlhkost: {vlhkost}%") |
|||
led_stav = data["led_stav"] |
|||
print(f"Stav LED: {led_stav}") |
|||
|
@ -0,0 +1,43 @@ |
|||
import requests |
|||
|
|||
base_url = "http://localhost:8000/api" |
|||
|
|||
options = { |
|||
"1": "Zobrazit vše", |
|||
"2": "Zobrazit teplotu", |
|||
"3": "Zobrazit vlhkost" |
|||
} |
|||
|
|||
while True: |
|||
for key, value in options.items(): |
|||
print(f"{key}:{value}") |
|||
|
|||
vyber = input("Zadejte cislo volby:") |
|||
if vyber in options: |
|||
break |
|||
else: |
|||
print("Spatna volba") |
|||
|
|||
if vyber == "1": |
|||
url = f"{base_url}/data" |
|||
elif vyber == "2": |
|||
url = f"{base_url}/teplota" |
|||
elif vyber == "3": |
|||
url = f"{base_url}/vlhkost" |
|||
|
|||
response = requests.get(url) |
|||
|
|||
if response.status_code == 200: #uspěšné připojení |
|||
data = response.json() |
|||
if vyber == "1": |
|||
print(data) |
|||
if vyber == "2": |
|||
teplota = data["teplota"] |
|||
print(f"Teplota: {teplota}°C") |
|||
if vyber == "3": |
|||
vlhkost = data["vlhkost"] |
|||
print(f"Vlhkost: {vlhkost}%") |
|||
else: |
|||
print("Chyba:", response.status_code) |
|||
|
|||
|
@ -0,0 +1,40 @@ |
|||
from flask import Flask, jsonify, render_template |
|||
import random |
|||
|
|||
#vytvoření Flask aplikace |
|||
app = Flask(__name__) |
|||
|
|||
def generuj_data(): |
|||
teplota = random.randint(20,28) |
|||
vlhkost = random.randint(40,80) |
|||
led_stav = bool(random.randint(0,1)) |
|||
return { |
|||
"nazev": "hodnota", |
|||
"teplota": teplota, |
|||
"vlhkost": vlhkost, |
|||
"led_stav": led_stav |
|||
} |
|||
|
|||
@app.route("/") |
|||
def index(): |
|||
#vytvoříme si složku templates a vložíme do ní index.html |
|||
return render_template("index.html") |
|||
|
|||
@app.route("/api/data",methods=["GET"]) |
|||
def get_data(): |
|||
data = generuj_data() |
|||
return jsonify(data) |
|||
|
|||
@app.route("/api/teplota",methods=["GET"]) |
|||
def get_teplota(): |
|||
data = generuj_data() |
|||
return jsonify({"teplota":data["teplota"]}) |
|||
|
|||
@app.route("/api/vlhkost",methods=["GET"]) |
|||
def get_vlhkost(): |
|||
data = generuj_data() |
|||
return jsonify({"vlhkost":data["vlhkost"]}) |
|||
|
|||
if __name__ == "__main__": |
|||
app.run(debug=True, port=8000) |
|||
|
@ -0,0 +1,17 @@ |
|||
<!DOCTYPE html> |
|||
<html lang="cs"> |
|||
<head> |
|||
<meta charset="UTF-8"> |
|||
<title>REST API PYTHON</title> |
|||
</head> |
|||
<body> |
|||
|
|||
<h1>Vítejte na REST API v pythonu</h1> |
|||
<ul> |
|||
<li>/api/data - pro všechny data</li> |
|||
<li>/api/teplota - získaní hodnoty teploty</li> |
|||
<li>/api/vlhkost - získaní hodnoty vlhkosti</li> |
|||
</ul> |
|||
|
|||
</body> |
|||
</html> |
Loading…
Reference in new issue