MerginMaps / MerginMaps/python-api-client

The requested URL was not found on the server (local server)

未關閉
#106 0 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視

還沒有人認領這個 Issue。

bug
主要語言
Python
星號
23
分支
12
平均合併
2 天 13 小時
30 天內合併 PR
7

描述

During pushing new changes on the project, there is an error, when using server on localhost. So it have probably something with virtual environment.

Error: The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again.

https://user-images.githubusercontent.com/83582181/131321227-ccb3bac6-54d1-49cf-abdc-1966cbf9b9b4.mp4

On the server itself i get this error:

INFO:werkzeug:127.0.0.1 - - [30/Aug/2021 11:48:31] "POST /v1/project/push/User4/ABC HTTP/1.1" 200 -
ERROR:src:Exception on /v1/project/push/finish/24d4c7f1-f330-4a7d-857f-2cb7e2fdb144 [POST]
Traceback (most recent call last):
File "/home/shockwave/.local/share/virtualenvs/server-dyUHr1GY/lib/python3.8/site-packages/flask/app.py", line 2447, in wsgi_app
response = self.full_dispatch_request()
File "/home/shockwave/.local/share/virtualenvs/server-dyUHr1GY/lib/python3.8/site-packages/flask/app.py", line 1952, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/home/shockwave/.local/share/virtualenvs/server-dyUHr1GY/lib/python3.8/site-packages/flask/app.py", line 1821, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "/home/shockwave/.local/share/virtualenvs/server-dyUHr1GY/lib/python3.8/site-packages/flask/_compat.py", line 39, in reraise
raise value
File "/home/shockwave/.local/share/virtualenvs/server-dyUHr1GY/lib/python3.8/site-packages/flask/app.py", line 1950, in full_dispatch_request
rv = self.dispatch_request()
File "/home/shockwave/.local/share/virtualenvs/server-dyUHr1GY/lib/python3.8/site-packages/flask/app.py", line 1936, in dispatch_request
return self.view_functionsrule.endpoint
File "/home/shockwave/.local/share/virtualenvs/server-dyUHr1GY/lib/python3.8/site-packages/connexion/decorators/decorator.py", line 48, in wrapper
response = function(request)
File "/home/shockwave/.local/share/virtualenvs/server-dyUHr1GY/lib/python3.8/site-packages/connexion/decorators/uri_parsing.py", line 144, in wrapper
response = function(request)
File "/home/shockwave/.local/share/virtualenvs/server-dyUHr1GY/lib/python3.8/site-packages/connexion/decorators/validation.py", line 384, in wrapper
return function(request)
File "/home/shockwave/.local/share/virtualenvs/server-dyUHr1GY/lib/python3.8/site-packages/connexion/decorators/response.py", line 103, in wrapper
response = function(request)
File "/home/shockwave/.local/share/virtualenvs/server-dyUHr1GY/lib/python3.8/site-packages/connexion/decorators/parameter.py", line 121, in wrapper
return function(**kwargs)
File "/home/shockwave/Lutra/mergin_server/mergin/server/src/auth/init.py", line 46, in wrapped_func
return f(*args, **kwargs)
File "/home/shockwave/Lutra/mergin_server/mergin/server/src/controllers/project_controller.py", line 856, in push_finish
move_to_tmp(upload_dir, transaction_id)
File "/home/shockwave/Lutra/mergin_server/mergin/server/src/storages/disk.py", line 95, in move_to_tmp
os.renames(src, temp_path)
File "/usr/lib/python3.8/os.py", line 270, in renames
rename(old, new)
OSError: [Errno 18] Invalid cross-device link: '/home/shockwave/Lutra/mergin_server/mergin/projects/c0/c666c2cb2ddeb22e3d2d67a9a2856c11/tmp/24d4c7f1-f330-4a7d-857f-2cb7e2fdb144' -> '/tmp/24d4c7f1-f330-4a7d-857f-2cb7e2fdb144/c0/c666c2cb2ddeb22e3d2d67a9a2856c11/tmp/24d4c7f1-f330-4a7d-857f-2cb7e2fdb144'

貢獻指南

開啟貢獻指南

從這裡開始

  1. 先讀完整個 Issue,再讀專案的貢獻指南。
  2. 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
  3. Fork 儲存庫,在一個分支上完成修改。
  4. 送出 Pull Request,並在描述裡引用這個 Issue 編號。

研究方向

從 mergin/server/src/storages/disk.py 中的 move_to_tmp 開始,接著檢查 mergin/server/src/controllers/project_controller.py 中 push_finish 附近的程式碼。重現本機專案的 push,並沿著 traceback 追蹤 os.renames。完成標準是 push-finish 請求不再引發所回報的跨裝置連結錯誤,並回傳預期的回應。

由索引模型根據 Issue 內容生成。

評估

技術堆疊
flask, python
領域
api, backend
Issue 類型
缺陷
難度
3/5
預估耗時
1-2 天
活躍度
停滯
描述清晰度
需要釐清
新手友好度
35/100

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。