GithubHelp home page GithubHelp logo

wecase / wecase Goto Github PK

View Code? Open in Web Editor NEW
107.0 20.0 20.0 8.61 MB

The Linux Sina Weibo Client

Home Page: https://wecase.org

Shell 8.40% Python 66.89% QMake 0.22% Makefile 22.97% M4 1.53%
python3 linux sina weibo

wecase's Introduction

We are very sorry to inform you that the project development has stopped.

wecase's People

Contributors

biergaizi avatar bitdeli-chef avatar colin4124 avatar garfield550 avatar m13253 avatar senseab avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

wecase's Issues

“忙碌”图标上下震荡

目前的忙碌图片实现方式,是通过使用一静态图,并通过不断对其进行几何旋转而实现的。这样的做法首先应用在了微博配图上。

但随后用在了加载更多微博上,便暴露了图片震荡的问题。这个问题产生的原因非常简单。

  • 位图的形状是且只是矩形。

  • “忙碌”图标在一位图上。是其所在位图的最大内接圆。

    1

而对位图进行几何旋转,那么其四顶点坐标将发生改变,也就会产生震荡问题,如图。

2

  • 解决方法:将所有 WRotatingLabel 都改用 QMoviegif 动态图功能实现。

Wrapped C/C++ object of type QLabel has been deleted

Oops, there is an unexcepted error: 

Traceback (most recent call last):
  File "/home/cth451/文档/git/WeCase/src/TweetListWidget.py", line 271, in _update_time
    self.time.setText("<a href='%s'>%s</a>" % (self.tweet.url, self.tweet.time))
RuntimeError: wrapped C/C++ object of type QLabel has been deleted

Please report it at https://github.com/WeCase/WeCase/issues

将 wecase.py 文件拆分

wecase.py 主文件里面已经塞了太多的窗口,几乎有 1000 行代码。编辑的时候不得横跨数百行,这个不是一个好现象。

一开始就想要拆分。可那个时候各个窗体的依赖性还很大,不能直接拆。现在情况已经好多了,找个空闲时间进行这项工作。

被转发微博的图片不会显示

如果某微博被转发,那么它所附带的图片将不被显示。
我会抽空修复,但在此记录。@tonychee7000 有空的话可以修一下。

托盘功能

ubuntu unity狂戳托盘图标没有任何反应是什么情况

界面布局

_001
不仅如此,小窗口还能自动停靠在窗口四边。

刷新太卡了

刷新太卡了,打算刷新窗口的时候,增加一个简单的模态提示。

0.06 到底应该是 tag 还是 branch?

发现 0.06 branch,而不是 tag。
这是怎么回事?是一个 experimental branch 还是误操作?
话说我已经把 0.06 推到 AUR 源了啊……
如果 0.06 branch 是稳定代码,请合并到 master,删除分支并创建 tag;
如果是实验性代码,我只好在 AUR 源降级了……(用yaourt -Syua是无法降级的,降级需要两个-uu,这就意味着已经安装 0.06 版本的人可能不会自动降级)

还有以后创建了新 tag 请自觉到我的 AUR 页面 去点击 Flag Out-Of-Date,不要让我每次都来检查你这边,结果这次还弄出问题了……

“关于”窗口应该固定大小

“关于”窗口应该固定大小(Min 大小 = Max 大小),否则应该使用更合理的布局管理。
@tonychee7000 你改变下窗口大小,看看 Logo 都变成什么样了。

增加清除缓存

WeCase用久了
~/.cache/wecase里有很多图片,
尽管rm -rf可以做到,但对于小白们可能是个坑啊

ImportError: No module named dateutil

$ python3 ./wecase.py
Traceback (most recent call last):
File "./src/wecase.py", line 16, in
from dateutil import parser as time_parser
ImportError: No module named dateutil

$ python2 ./wecase.py
Traceback (most recent call last):
File "./src/wecase.py", line 16, in
from dateutil import parser as time_parser
ImportError: No module named dateutil

dateutil是什么?

不能正确处理已经被删掉的微博

Traceback (most recent call last):
  File "/usr/lib64/python3.3/site-packages/weibo.py", line 142, in _http_call
    resp = urllib.request.urlopen(req)
  File "/usr/lib64/python3.3/urllib/request.py", line 156, in urlopen
    return opener.open(url, data, timeout)
  File "/usr/lib64/python3.3/urllib/request.py", line 475, in open
    response = meth(req, response)
  File "/usr/lib64/python3.3/urllib/request.py", line 587, in http_response
    'http', request, response, code, msg, hdrs)
  File "/usr/lib64/python3.3/urllib/request.py", line 513, in error
    return self._call_chain(*args)
  File "/usr/lib64/python3.3/urllib/request.py", line 447, in _call_chain
    result = func(*args)
  File "/usr/lib64/python3.3/urllib/request.py", line 595, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 400: Bad Request

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/biergaizi/WeCase.commit/src/TweetListWidget.py", line 427, in _retweet
    wecase_new = NewpostWindow("retweet", tweet)
  File "/home/biergaizi/WeCase.commit/src/NewpostWindow.py", line 31, in __init__
    self.setupUi(self)
  File "/home/biergaizi/WeCase.commit/src/NewpostWindow.py", line 41, in setupUi
    self._create_tweetWidget()
  File "/home/biergaizi/WeCase.commit/src/NewpostWindow.py", line 81, in _create_tweetWidget
    self.tweet.refresh()
  File "/home/biergaizi/WeCase.commit/src/Tweet.py", line 408, in refresh
    self._data = self.client.statuses.show.get(id=self.id)
  File "/usr/lib64/python3.3/site-packages/weibo.py", line 276, in __call__
    return _http_call('%s%s.json' % (self._client.api_url, self._path), method, self._client.access_token, **kw)
  File "/usr/lib64/python3.3/site-packages/weibo.py", line 154, in _http_call
    raise APIError(r.error_code, r.get('error', ''), r.get('request', ''))
weibo.APIError: APIError: 20101: target weibo does not exist!, request: /2/statuses/show.json

设定窗口的对话框

即使我没有改动过滤设置,点击确定时仍然会提示需要重新打开WeCase来应用过滤规则,

当进入@我之后,点击刷新就会报错。错误报告如下

Oops, there is an unexcepted error: 

Traceback (most recent call last):
  File "/usr/local/lib/python3.3/dist-packages/weibo.py", line 142, in _http_call
    resp = urllib.request.urlopen(req)
  File "/usr/lib/python3.3/urllib/request.py", line 160, in urlopen
    return opener.open(url, data, timeout)
  File "/usr/lib/python3.3/urllib/request.py", line 479, in open
    response = meth(req, response)
  File "/usr/lib/python3.3/urllib/request.py", line 591, in http_response
    'http', request, response, code, msg, hdrs)
  File "/usr/lib/python3.3/urllib/request.py", line 517, in error
    return self._call_chain(*args)
  File "/usr/lib/python3.3/urllib/request.py", line 451, in _call_chain
    result = func(*args)
  File "/usr/lib/python3.3/urllib/request.py", line 599, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 401: Unauthorized

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/home/WeCase/src/WeCaseWindow.py", line 186, in refresh
    self.reset_remind()
  File "/home/home/WeCase/src/WeCaseWindow.py", line 95, in reset_remind
    self.client.remind.set_count.post(type="mention_status")
  File "/usr/local/lib/python3.3/dist-packages/weibo.py", line 276, in __call__
    return _http_call('%s%s.json' % (self._client.api_url, self._path), method, self._client.access_token, **kw)
  File "/usr/local/lib/python3.3/dist-packages/weibo.py", line 154, in _http_call
    raise APIError(r.error_code, r.get('error', ''), r.get('request', ''))
weibo.APIError: APIError: 21320: unsupport_protocol, request: /2/remind/set_count.json

Please report it at https://github.com/WeCase/WeCase/issues

无 Notify2 的警告太唠叨了

无 Notify2 的警告太唠叨了,在 Windows 上,每打开发送微博对话框就会提示无 Notify2,这是因为每次导入模块,就会触发警告。

所有的警告应该有单独的机制,而非模块自身完成。我来实现。

打不开的说。。。

Traceback (most recent call last):
File "./src/wecase.py", line 12, in
from LoginWindow import LoginWindow
File "/home/ha2q1w2007/WeCase/src/LoginWindow.py", line 21, in
from WeCaseWindow import WeCaseWindow
File "/home/ha2q1w2007/WeCase/src/WeCaseWindow.py", line 19, in
from Notify import Notify
File "/home/ha2q1w2007/WeCase/src/Notify.py", line 10, in
import notify2 as pynotify
ImportError: No module named notify2

Readme 里没有写明完整的依赖

Readme 里没有写明完整的依赖,导致 Linux 吧一群小白问为什么无法启动。
我的 ArchLinux 包里面的依赖是这么写的:
依赖于  : python>=3 pyqt>=4 python-dateutil python-notify2

不能加载中间内容

微博长时间未刷新后,再次刷新,新浪并不会发送完整时间线,而只是发送二十条。

四次元使用加载中间内容来实现,而这个算法暂无头绪。

新界面设计

目前的界面设计,对于浏览微博来说,足够了。可是,如果要查看微博评论或某人的微博,这就是个问题了。我们不可能像手机一样,直接切到另一屏,把 ListView 中的内容切换成别的东西,想必也是不好的;而到处弹小窗口,也是非常糟糕的事情。

传统 Qt 原生而不灵活,QML 灵活而不原生。而我们想尽可能原生,那么就要少用 QML,不可能做纯 QML 界面,这又是个挑战。因此急需新 UI 设计案。

目前,我建议查看微博的评论时,采用弹出拉伸式,而其它的界面,需要进行更多讨论。

刷新后没有更新之前的微博的时间戳

我安装的版本是 1e7507f
见图,我点击刷新前最新的是第二条微博,刷新后刷出来一条新微博。但是第二条微博的时间戳没有更新。
我觉得解决方案应该是,每隔15秒或每次点击刷新时,更新所有时间戳。(个人觉得15秒比较合理)
50c3208e-c347-41fe-a677-30f9b1488058

Why db type could not be determined?

$ python3 ./src/wecase.py
Traceback (most recent call last):
File "./src/wecase.py", line 700, in
wecase_login = LoginWindow()
File "./src/wecase.py", line 173, in init
self.loadConfig()
File "./src/wecase.py", line 200, in loadConfig
self.config = shelve.open(config_path, 'c')
File "/usr/lib/python3.2/shelve.py", line 232, in open
return DbfilenameShelf(filename, flag, protocol, writeback)
File "/usr/lib/python3.2/shelve.py", line 216, in init
Shelf.init(self, dbm.open(filename, flag), protocol, writeback)
File "/usr/lib/python3.2/dbm/init.py", line 83, in open
raise error[0]("db type could not be determined")
dbm.error: db type could not be determined

无法保存登录信息

登录时勾选「自动登录」,第二次仍然提示登录,发现 .config/wecase 下没有存储内容。

还有问题是。勾选「自动登录」会自动勾选「记住我」,这个实现了;但是取消「记住我」的时候应该同时取消「自动登录」,这个却没有实现。

关闭窗口时程序没有结束

在把“检查新微博”间隔调长后,程序不会在关闭主窗口后马上结束
2013-04-05 20:44:58

终端里运行时感觉很明显,但打开py文件直接运行的没有太大影响,

规范变量命名

将所有的 Qt 相关对象,使用最新的《开发指南》规范命名。工作量可能很大,建议使用 IDE 配合操作。
由我来进行。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.