Update app.py
Browse files
app.py
CHANGED
@@ -2,6 +2,7 @@ from fastapi import FastAPI
|
|
2 |
from pydantic import BaseModel
|
3 |
|
4 |
import re
|
|
|
5 |
import inspect
|
6 |
import numpy as np
|
7 |
import pandas as pd
|
@@ -746,11 +747,66 @@ async def greet_json(body: InputData):
|
|
746 |
}
|
747 |
|
748 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
749 |
@app.get("/get_data")
|
750 |
def get_data(nopol: str):
|
751 |
data_kendaraan, total_tagihan, rincians_pkb, rincians_swd = get_vehicle_info_bs4(nopol)
|
752 |
if data_kendaraan:
|
753 |
data_kendaraan["no_polisi"] = nopol
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
754 |
return {
|
755 |
"data_kendaraan":data_kendaraan,
|
756 |
"rincian_total_tagihan":total_tagihan,
|
|
|
2 |
from pydantic import BaseModel
|
3 |
|
4 |
import re
|
5 |
+
import requests
|
6 |
import inspect
|
7 |
import numpy as np
|
8 |
import pandas as pd
|
|
|
747 |
}
|
748 |
|
749 |
|
750 |
+
@app.get("/get_nilai_jual")
|
751 |
+
def get_nilai_jual(nopol: str)
|
752 |
+
data_kendaraan, total_tagihan, rincians_pkb, rincians_swd = get_vehicle_info_bs4(nopol)
|
753 |
+
if data_kendaraan:
|
754 |
+
html = requests.post(
|
755 |
+
"https://www.jambisamsat.net/nilaijual/nilai_jual.php",
|
756 |
+
data = {
|
757 |
+
"jenis":data_kendaraan["jenis"],
|
758 |
+
"tahun":int(data_kendaraan["tahun"]),
|
759 |
+
"merek":data_kendaraan["model/tipe"]
|
760 |
+
}
|
761 |
+
).text
|
762 |
+
matches = re.findall(r'<td[^>]*>(.*?)</td>', html, re.DOTALL)
|
763 |
+
chunks = [
|
764 |
+
{
|
765 |
+
"no":matches[i],
|
766 |
+
"koding":matches[i+1],
|
767 |
+
"merek":matches[i+2],
|
768 |
+
"model":matches[i+3],
|
769 |
+
"jenis":matches[i+4],
|
770 |
+
"tahun":matches[i+5],
|
771 |
+
"nilai_jual":matches[i+6],
|
772 |
+
"bobot":matches[i+7],
|
773 |
+
"SK":matches[i+8]
|
774 |
+
}
|
775 |
+
for i in range(0, len(matches), 9)
|
776 |
+
]
|
777 |
+
return chunks
|
778 |
+
|
779 |
+
|
780 |
+
|
781 |
@app.get("/get_data")
|
782 |
def get_data(nopol: str):
|
783 |
data_kendaraan, total_tagihan, rincians_pkb, rincians_swd = get_vehicle_info_bs4(nopol)
|
784 |
if data_kendaraan:
|
785 |
data_kendaraan["no_polisi"] = nopol
|
786 |
+
|
787 |
+
html = requests.post(
|
788 |
+
"https://www.jambisamsat.net/nilaijual/nilai_jual.php",
|
789 |
+
data = {
|
790 |
+
"jenis":data_kendaraan["jenis"],
|
791 |
+
"tahun":int(data_kendaraan["tahun"]),
|
792 |
+
"merek":data_kendaraan["model/tipe"]
|
793 |
+
}
|
794 |
+
).text
|
795 |
+
matches = re.findall(r'<td[^>]*>(.*?)</td>', html, re.DOTALL)
|
796 |
+
chunks = {
|
797 |
+
# "no":matches[i],
|
798 |
+
"koding":matches[i+1],
|
799 |
+
"merek":matches[i+2],
|
800 |
+
"model":matches[i+3],
|
801 |
+
"jenis":matches[i+4],
|
802 |
+
"tahun":matches[i+5],
|
803 |
+
"nilai_jual":matches[i+6],
|
804 |
+
"bobot":matches[i+7],
|
805 |
+
"SK":matches[i+8]
|
806 |
+
}
|
807 |
+
|
808 |
+
data_kendaraan.update({k:v for k,v in chunks.items() if v})
|
809 |
+
|
810 |
return {
|
811 |
"data_kendaraan":data_kendaraan,
|
812 |
"rincian_total_tagihan":total_tagihan,
|