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