Advertisement
Guest User

Untitled

a guest
Mar 18th, 2018
515
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.40 KB | None | 0 0
  1.  
  2. x: int = 9
  3.  
  4. @app.route('/monuments/list/<string:ids>', methods=['GET', 'POST'])
  5. def add_monument_list(ids):
  6.     print("TEST, ", ids)
  7.     road = parse_ids(ids)
  8.     return jsonify({'ids': road}), 200
  9.  
  10.  
  11.  
  12. stack: list = []
  13. for i in range(x):
  14.     stack.append(0)
  15. road: int = 100000000
  16. final_road: list = []
  17. # for i in range(x):
  18. #     final_road.append(0)
  19. licznik = 1
  20.  
  21. def parse_ids(ids: str) -> list:
  22.     print("AAAAAAAAAAAAAAAAAAAAAAAAAa")
  23.  
  24.     id_list: list = []
  25.     for id in ids.split(','):
  26.         if id:
  27.             id_list.append(int(id))
  28.  
  29.     global x
  30.     print("X = ", len(id_list))
  31.     x = len(id_list)
  32.     print("DEBUGGGGGGGGGGGGGGG", id_list)
  33.  
  34.     # print(id_list)
  35.     #DEBUG FROM HERE
  36.     adress_list: list = []
  37.     monuments = firebase.get('/', None)['Zabytek']
  38.  
  39.  
  40.     for monument in monuments:
  41.         try:
  42.             if int(monuments[monument]['Id']) in id_list:
  43.                 adress = monuments[monument]['Adres']
  44.                 comma_index = adress.index(',')
  45.                 adress = adress[:comma_index].replace(' ', '+')
  46.                 adress_list.append(adress)
  47.  
  48.         except AttributeError:
  49.             pass
  50.  
  51.         distance_list: list = []
  52.     dynamic_url: str = "https://maps.googleapis.com/maps/api/distancematrix/json?origins="
  53.     for monument_adress in adress_list:
  54.         dynamic_url += str(monument_adress) + "|"
  55.  
  56.     dynamic_url = dynamic_url[:-1]
  57.     dynamic_url += "&destinations="
  58.  
  59.     API = "AIzaSyBJFyi1ey9Xf5JDU94nGdJXpZQLmQWIl3c"
  60.     for monument_adress in adress_list:
  61.         dynamic_url += str(monument_adress) + "|"
  62.     dynamic_url = dynamic_url[:-1]
  63.     dynamic_url += "&mode=bicycling&key={}".format(API)
  64.  
  65.     # print(dynamic_url)
  66.  
  67.     r = requests.get(dynamic_url)
  68.     trip_time_matrix = r.json()['rows']
  69.  
  70.     i = 0
  71.     for el in trip_time_matrix:
  72.         row = el['elements']
  73.         temp_list: list = [adress_list[i]]
  74.         for trip in row:
  75.             temp_list.append(trip['duration']['value'])
  76.  
  77.         distance_list.append(temp_list)
  78.         i += 1
  79.  
  80.     for el in distance_list:
  81.         el.pop(0)
  82.  
  83.     # print(distance_list)
  84.  
  85.     min(0,distance_list)
  86.     for i in range(len(final_road)):
  87.         final_road[i] += 1
  88.  
  89.     print(final_road)
  90.  
  91.     return final_road
  92.  
  93. # @app.route('/monuments/list', methods=['POST'])
  94. # def add_monument_list():
  95. #     if not request:
  96. #     # if not request.json or not 'id' in request.json:
  97. #         abort(400)
  98. #     try:
  99. #         foo = request.data
  100. #         print("AAA", foo)
  101. #     except Exception as e:
  102. #         print(e)
  103. #     return jsonify({'foo': foo}), 201
  104.  
  105. def min(n: int, time_table):
  106.     global licznik
  107.     global road
  108.     global x
  109.     if(licznik == x):
  110.         tmp = 0
  111.         for i in range(x-1):
  112.             # print("TESTY {}, {}, {}".format(len(time_table), stack[i], stack[i+1]))
  113.             tmp += time_table[stack[i]][stack[i+1]]
  114.         if tmp < road:
  115.             road = tmp
  116.             for i in range(x):
  117.                 final_road.append(stack[i])
  118.                 # final_road[i] = stack[i]
  119.     else:
  120.         for i in range(x):
  121.             tmp1 = 0
  122.             # print("Licznik = ", licznik)
  123.             for l in range(licznik):
  124.                 if i != stack[l]:
  125.                     tmp1 += 1
  126.             if tmp1 == licznik:
  127.  
  128.                 stack[licznik] = i
  129.                 licznik += 1
  130.                 min(i, time_table)
  131.     licznik -= 1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement