Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

执行正常,访问时报No Found #1

Closed
xlpppp opened this issue Nov 25, 2019 · 16 comments
Closed

执行正常,访问时报No Found #1

xlpppp opened this issue Nov 25, 2019 · 16 comments

Comments

@xlpppp
Copy link

xlpppp commented Nov 25, 2019

感谢分享这个程序!

执行python3 app.py后访问网站首页报No Found
subpath留空或定义/,或配合nginx反代加子目录都一样

python3 app.py执行一会后会报
UnicodeEncodeError: 'ascii' codec can't encode characters in position 30-33: ordinal not in range(128)

@xlpppp
Copy link
Author

xlpppp commented Nov 25, 2019

centos 6
Python 3.6.9

@xlpppp
Copy link
Author

xlpppp commented Nov 25, 2019

File "/home/one/OneList.py", line 88, in http
res_obj = opener.open(url_obj)
File "/usr/local/python3/lib/python3.6/urllib/request.py", line 526, in open
response = self._open(req, data)
File "/usr/local/python3/lib/python3.6/urllib/request.py", line 544, in _open
'_open', req)
File "/usr/local/python3/lib/python3.6/urllib/request.py", line 504, in _call_chain
result = func(*args)
File "/usr/local/python3/lib/python3.6/urllib/request.py", line 1361, in https_open
context=self._context, check_hostname=self._check_hostname)
File "/usr/local/python3/lib/python3.6/urllib/request.py", line 1318, in do_open
encode_chunked=req.has_header('Transfer-encoding'))
File "/usr/local/python3/lib/python3.6/http/client.py", line 1254, in request
self._send_request(method, url, body, headers, encode_chunked)
File "/usr/local/python3/lib/python3.6/http/client.py", line 1265, in _send_request
self.putrequest(method, url, **skips)
File "/usr/local/python3/lib/python3.6/http/client.py", line 1132, in putrequest
self._output(request.encode('ascii'))
UnicodeEncodeError: 'ascii' codec can't encode characters in position 30-33: ordinal not in range(128)

@xlpppp
Copy link
Author

xlpppp commented Nov 27, 2019

大佬求帮助

@MoeClub
Copy link
Owner

MoeClub commented Dec 21, 2019

UnicodeEncodeError: 'ascii' codec can't encode characters
这个问题应该修复了才对,再试试?
目前只支持 二级目录。

@xlpppp
Copy link
Author

xlpppp commented Dec 21, 2019

更新后正常了,没再报错
但检索时间长会出现access token过期

另外目录浏览没问题,但根目录会报“No Found”

@xlpppp
Copy link
Author

xlpppp commented Dec 22, 2019

我指的根目录是http://x.x.x.x:5188/subdir/
这种
我知道程序只支持二级目录

// OneDrive 中的某个需要列出的目录
"RootPath": "/",
// 网址中的子路径
"SubPath": "/subdir",

@xlpppp
Copy link
Author

xlpppp commented Dec 22, 2019

Cache: /HOME/儿歌/23_HB Kids英语故事儿歌720p全90集
**

string indices must be integers

**

有目录缓存碰到上面的错误

@MoeClub
Copy link
Owner

MoeClub commented Dec 23, 2019

此目录内多少文件?

@xlpppp
Copy link
Author

xlpppp commented Dec 23, 2019

80个文件,有时又可以刷新这个目录,不是一直出现。
现在最多出现的是

Access token has expired.

根目录报

No Found
的问题,我配置文件指定RootPath为子目录就正常,程序目前不支持指定RootPath到 / 是吧?

另外经常碰到的是突然页面打不开,但服务器上一直在保持Cache更新状态
我看今天的更新,有提到这个问题了

@MoeClub
Copy link
Owner

MoeClub commented Dec 26, 2019

试试 Go 版的,在文件夹 WriteByGo 里。
这两天用 Go 重构了Python版的代码。
响应速度更快,也支持主目录了。
也同时修复了些问题。

@xlpppp
Copy link
Author

xlpppp commented Dec 26, 2019

试了GO版,缓存刷新了很久,但网页一直无法访问
"SubPath": "/onedrive",
"RootPath": "/HOME",

这两个参数我是这样,改了不少种都不行,页面提示 No Found

@MoeClub
Copy link
Owner

MoeClub commented Dec 26, 2019

最后提示 Cache: Done! 之后才不会显示 No Found

https://www.moerats.com/archives/1016/

@xlpppp
Copy link
Author

xlpppp commented Dec 26, 2019

目录缓存时间只能设为900,超过执行一段时间会提示TOKEN失效
但是我目录太多,900秒并不能完全缓存完,会不会导致不停的重复缓存,并不会有缓存结束的时候?

@MoeClub
Copy link
Owner

MoeClub commented Dec 26, 2019

目前缓存时异步的。缓存和前端显示是分开的。
除第一次缓存成功外,之后缓存完整后,才会 copy 到前端显示的那边。

那你可以设置成多个目录,多个目录是并发缓存的,可以提高缓存速度。
这样就可以避免一个目录里太大,看上面教程里的最后几句话。

@xlpppp
Copy link
Author

xlpppp commented Dec 26, 2019

请求增加输出扩展名功能
python版我是在onelist.py里增加定义,然后在index.html里对不同后缀的文件做判断要怎么处理

    @staticmethod
    def file_ext(str):
	    ext = os.path.splitext(str)[-1][1:]
	    if ext != "":
		    return ext.lower()
	    else:
		    return ""
                self.cache[parentKey][item["name"]] = {
                    "name": item["name"],
                    "size": Utils.getSize(item["size"]),
                    "date": Utils.formatTime(item["lastModifiedDateTime"]),
                    "ext": Utils.file_ext(item["name"]),
                    "@time": Utils.getTime()
                }
            self.cacheRoot[parentKey][Json["name"]]["name"] = Json["name"]
            self.cacheRoot[parentKey][Json["name"]]["date"] = Utils.formatTime(Json["lastModifiedDateTime"])
            self.cacheRoot[parentKey][Json["name"]]["size"] = Utils.getSize(Json["size"])
            self.cacheRoot[parentKey][Json["name"]]["@time"] = Utils.getTime()
            self.cacheRoot[parentKey][Json["name"]]["ext"] = Utils.file_ext(Json["name"])
            self.cacheRoot[parentKey][Json["name"]]["@type"] = "file"

@xlpppp
Copy link
Author

xlpppp commented Dec 28, 2019

上面的需求不着急了,我通过JS判断搞好我自己需求了。

@MoeClub MoeClub closed this as completed Dec 28, 2019
@PyzmxU PyzmxU mentioned this issue Jan 7, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants