File size: 2,105 Bytes
e4764b8
6fec84a
e4764b8
d408ad9
e4764b8
6fec84a
c76d967
6fec84a
e4764b8
c76d967
e4764b8
 
 
 
6fec84a
57acd60
 
 
 
 
 
 
 
6fec84a
fa2be1a
a223032
57acd60
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
e4764b8
5ae7018
6fec84a
 
e4764b8
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
### Run this on startup
import requests
import pandas as pd
from datasets import Dataset, DatasetDict
import streamlit as st
from datetime import datetime
from tqdm import tqdm


st.title("Fetching all spots from dumpstermap.org")

if "initialized" not in st.session_state:
    st.session_state.initialized = False

if not st.session_state.initialized:    
    url = "https://dumpstermap.herokuapp.com/dumpsters/withinbounds/-180/-90/180/90/"
    response = requests.get(url)
    entry = response.json()
    dumpsters = entry["features"]
    
    cols = ["Latitude", "Longitude", "dumpster_created", "voting", "comment", "voting_created", "name"]
    
    dumpsters_df = pd.DataFrame(columns=cols)
    for dumpster in tqdm(dumpsters[:5]):
        st.markdown(dumpster['id'])
        url = f"https://dumpstermap.herokuapp.com/dumpsters/{dumpster['id']}"
        response = requests.get(url)
        if response.status_code != 200:
            print("Problem fetching from:", url, response.status_code)
        try:
            entry = response.json()
    
            rows = []
            lat = entry['geometry']['coordinates'][1]
            lon = entry['geometry']['coordinates'][0]
            dumpster_created = entry['properties']['created']
    
            for vote in entry['properties']['voting_set']:
                rows.append({
                    "Latitude": lat,
                    "Longitude": lon,
                    "dumpster_created": dumpster_created,
                    "voting": vote['value'],
                    "comment": vote['comment'],
                    "voting_created": vote['created_date'],
                    "name": vote['name']
                })
    
            if rows:
                dumpsters_df = pd.concat([dumpsters_df, pd.DataFrame(rows)], ignore_index=True)
    
        except Exception as e:
            print(e)

    dataset = Dataset.from_pandas(dumpsters_df)
    dataset_dict = DatasetDict({datetime.now().strftime("%Y.%m.%d"): dataset})
    dataset_dict.push_to_hub("Hitchwiki/dumpster_diving_spots")

    
    st.session_state.initialized = True