mirror of
https://github.com/MCV-Software/TWBlue.git
synced 2025-08-25 17:39:23 +00:00
Compare commits
9 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
12f47b85af | ||
30c0a8249e | |||
62e51ad14b | |||
d076ed1f56 | |||
9bbe325517 | |||
6f5ef6d3f1 | |||
378d277a98 | |||
![]() |
2fdbcbc152 | ||
![]() |
ef7ba0fe40 |
@@ -2,7 +2,7 @@
|
||||
name = 'TWBlue'
|
||||
snapshot = False
|
||||
if snapshot == False:
|
||||
version = "0.86"
|
||||
version = "0.87"
|
||||
update_url = 'http://twblue.es/updates/twblue_ngen.json'
|
||||
mirror_update_url = 'https://raw.githubusercontent.com/manuelcortez/TWBlue/next-gen/updates/stable.json'
|
||||
else:
|
||||
|
Binary file not shown.
@@ -5,8 +5,8 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: TW Blue documentation 0.46\n"
|
||||
"POT-Creation-Date: 2016-08-05 08:33+Hora de verano central (México)\n"
|
||||
"PO-Revision-Date: 2016-09-17 14:53+0400\n"
|
||||
"POT-Creation-Date: 2016-10-02 21:05+Hora de verano romance\n"
|
||||
"PO-Revision-Date: 2016-10-03 11:52+0400\n"
|
||||
"Last-Translator: Valeria <luciana.lu3a@gmail.com>\n"
|
||||
"Language-Team: \n"
|
||||
"Language: ru\n"
|
||||
@@ -601,9 +601,9 @@ msgstr ""
|
||||
"пользователю, нажав эту кнопку. Откроется диалог, подобный окну создания "
|
||||
"твита, но с уже заполненным именем пользователя (например, @user), и вам "
|
||||
"останется только написать свое сообщение. Если твит относится к нескольким "
|
||||
"пользователям, можно нажать Шифт-Таб и активировать кнопку Упомянуть всех. "
|
||||
"Если вы находитесь в списке друзей или читателей, эта кнопка будет "
|
||||
"называться Упомянуть."
|
||||
"пользователям, можно нажать Шифт-Таб и отметить флажок Упомянуть всех. Если "
|
||||
"вы находитесь в списке друзей или читателей, этот флажок будет называться "
|
||||
"Упомянуть."
|
||||
|
||||
#: ../doc\strings.py:68
|
||||
msgid ""
|
||||
@@ -615,10 +615,10 @@ msgid ""
|
||||
msgstr ""
|
||||
"* Личное сообщение: тоже, что и отправка твита, но это приватное сообщение, "
|
||||
"которое может быть просмотрено только тем пользователем, которому вы его "
|
||||
"отправляете. Чтобы посмотреть получателя, нажмите Шифт-таб. Если в твите, "
|
||||
"который вы читаете, упомянуто несколько пользователей,стрелками вверх и вниз "
|
||||
"можно выбрать получателя сообщения, или ввести имя вручную, без знака "
|
||||
"собаки."
|
||||
"отправляете. Чтобы посмотреть получателя, нажмите Шифт-таб. Если в "
|
||||
"сообщении, которое вы читаете, упомянуто несколько пользователей, стрелками "
|
||||
"вверх и вниз можно выбрать получателя сообщения, или ввести имя вручную, без "
|
||||
"знака собаки."
|
||||
|
||||
#: ../doc\strings.py:69
|
||||
msgid ""
|
||||
|
@@ -20,8 +20,8 @@ CommercialUse=true
|
||||
EULAVersion=2
|
||||
|
||||
[Version]
|
||||
PackageVersion=0.86.0.0
|
||||
DisplayVersion=0.86
|
||||
PackageVersion=0.87.0.0
|
||||
DisplayVersion=0.87
|
||||
|
||||
[Control]
|
||||
Icons=1
|
||||
|
@@ -13,9 +13,9 @@ SetCompressor /solid lzma
|
||||
SetDatablockOptimize on
|
||||
VIAddVersionKey ProductName "TWBlue"
|
||||
VIAddVersionKey LegalCopyright "Copyright 2016 Manuel Cortéz."
|
||||
VIAddVersionKey ProductVersion "0.86"
|
||||
VIAddVersionKey FileVersion "0.86"
|
||||
VIProductVersion "0.86.0.0"
|
||||
VIAddVersionKey ProductVersion "0.87"
|
||||
VIAddVersionKey FileVersion "0.87"
|
||||
VIProductVersion "0.87.0.0"
|
||||
!insertmacro MUI_PAGE_WELCOME
|
||||
!define MUI_LICENSEPAGE_RADIOBUTTONS
|
||||
!insertmacro MUI_PAGE_LICENSE "license.txt"
|
||||
@@ -69,10 +69,10 @@ WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\twblue" "D
|
||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\twblue" "UninstallString" '"$INSTDIR\uninstall.exe"'
|
||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall" "InstallLocation" $INSTDIR
|
||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall" "Publisher" "Manuel Cortéz"
|
||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\twblue" "DisplayVersion" "0.86"
|
||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\twblue" "DisplayVersion" "0.87"
|
||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\twblue" "URLInfoAbout" "http://twblue.es"
|
||||
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\twblue" "VersionMajor" 0
|
||||
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\twblue" "VersionMinor" 86
|
||||
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\twblue" "VersionMinor" 87
|
||||
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\twblue" "NoModify" 1
|
||||
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\twblue" "NoRepair" 1
|
||||
SectionEnd
|
||||
|
@@ -39,3 +39,4 @@ spelling_language = string(default="")
|
||||
save_followers_in_autocompletion_db = boolean(default=False)
|
||||
save_friends_in_autocompletion_db = boolean(default=False)
|
||||
twishort_enabled = boolean(default=False)
|
||||
mention_all = boolean(default=True)
|
@@ -2,7 +2,7 @@
|
||||
name = 'TWBlue'
|
||||
snapshot = False
|
||||
if snapshot == False:
|
||||
version = "0.86"
|
||||
version = "0.87"
|
||||
update_url = 'http://twblue.es/updates/twblue_ngen.json'
|
||||
mirror_update_url = 'https://raw.githubusercontent.com/manuelcortez/TWBlue/next-gen/updates/stable.json'
|
||||
else:
|
||||
|
@@ -479,11 +479,14 @@ class baseBufferController(bufferController):
|
||||
tweet = self.get_right_tweet()
|
||||
screen_name = tweet["user"]["screen_name"]
|
||||
id = tweet["id"]
|
||||
users = len(utils.get_all_mentioned(tweet, self.session.db))
|
||||
users = utils.get_all_mentioned(tweet, self.session.db)
|
||||
message = messages.reply(self.session, _(u"Reply"), _(u"Reply to %s") % (screen_name,), "", twishort_enabled=self.session.settings["mysc"]["twishort_enabled"], users=users)
|
||||
if message.message.get_response() == widgetUtils.OK:
|
||||
self.session.settings["mysc"]["twishort_enabled"] = message.message.long_tweet.GetValue()
|
||||
self.session.settings["mysc"]["mention_all"] = message.message.mentionAll.GetValue()
|
||||
text = message.message.get_text()
|
||||
if message.message.mentionAll.GetValue() == False:
|
||||
text = u"@{0} {1}".format(screen_name, text)
|
||||
if len(text) > 140 and message.message.get("long_tweet") == True:
|
||||
if message.image == None:
|
||||
text = twishort.create_tweet(self.session.settings["twitter"]["user_key"], self.session.settings["twitter"]["user_secret"], text)
|
||||
|
@@ -148,10 +148,10 @@ class reply(tweet):
|
||||
def __init__(self, session, title, caption, text, twishort_enabled, users=None):
|
||||
super(reply, self).__init__(session, title, caption, text, twishort_enabled, messageType="reply")
|
||||
self.message.mentionAll.SetValue(True)
|
||||
if users > 1:
|
||||
if len(users) > 1:
|
||||
# widgetUtils.connect_event(self.message.mentionAll, widgetUtils.CHECKBOX, self.mention_all)
|
||||
self.message.enable_button("mentionAll")
|
||||
self.message.mentionAll.SetValue(False)
|
||||
self.message.mentionAll.SetValue(self.session.settings["mysc"]["mention_all"])
|
||||
self.message.set_cursor_at_end()
|
||||
self.text_processor()
|
||||
|
||||
|
@@ -11,7 +11,7 @@ right = string(default="alt+win+right")
|
||||
next_account = string(default="alt+win+shift+right")
|
||||
previous_account = string(default="alt+win+shift+left")
|
||||
open_conversation = string(default="alt+win+c")
|
||||
show_hide = string(default="alt+win+w")
|
||||
show_hide = string(default="control+win+w")
|
||||
post_tweet = string(default="alt+win+n")
|
||||
post_reply = string(default="control+win+r")
|
||||
post_retweet = string(default="alt+win+shift+r")
|
||||
|
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
@@ -24,7 +24,11 @@ def is_long(tweet):
|
||||
return False
|
||||
|
||||
def clear_url(tweet):
|
||||
urls = utils.find_urls_in_text(tweet["full_text"])
|
||||
if tweet.has_key("full_text"):
|
||||
value = "full_text"
|
||||
else:
|
||||
value = "text"
|
||||
urls = utils.find_urls_in_text(tweet[value])
|
||||
try: tweet["message"] = tweet["message"].replace(urls[-1], "")
|
||||
except IndexError: pass
|
||||
return tweet
|
@@ -30,8 +30,11 @@ def get_twishort_uri(url):
|
||||
def is_long(tweet):
|
||||
long = False
|
||||
for url in range(0, len(tweet["entities"]["urls"])):
|
||||
if "twishort.com" in tweet["entities"]["urls"][url]["expanded_url"]:
|
||||
long = get_twishort_uri(tweet["entities"]["urls"][url]["expanded_url"])
|
||||
try:
|
||||
if "twishort.com" in tweet["entities"]["urls"][url]["expanded_url"]:
|
||||
long = get_twishort_uri(tweet["entities"]["urls"][url]["expanded_url"])
|
||||
except TypeError:
|
||||
pass
|
||||
return long
|
||||
|
||||
def get_full_text(uri):
|
||||
|
@@ -26,8 +26,9 @@ def stream_threaded(func, *args, **kwargs):
|
||||
def new_func(*a, **k):
|
||||
try:
|
||||
func(**k)
|
||||
except:
|
||||
except exception as msg:
|
||||
log.error("Error in stream with args: %r" % (a,))
|
||||
log.error(msg.message)
|
||||
pub.sendMessage("stream-error", session=a[0])
|
||||
|
||||
thread = threading.Thread(target=new_func, args=args, kwargs=kwargs)
|
||||
|
@@ -432,9 +432,13 @@ class Session(object):
|
||||
|
||||
def get_quoted_tweet(self, tweet):
|
||||
quoted_tweet = tweet
|
||||
urls = utils.find_urls_in_text(quoted_tweet["full_text"])
|
||||
if tweet.has_key("full_text"):
|
||||
value = "full_text"
|
||||
else:
|
||||
value = "text"
|
||||
urls = utils.find_urls_in_text(quoted_tweet[value])
|
||||
for url in range(0, len(urls)):
|
||||
try: quoted_tweet["full_text"] = quoted_tweet["full_text"].replace(urls[url], quoted_tweet["entities"]["urls"][url]["expanded_url"])
|
||||
try: quoted_tweet[value] = quoted_tweet[value].replace(urls[url], quoted_tweet["entities"]["urls"][url]["expanded_url"])
|
||||
except IndexError: pass
|
||||
id = tweets.is_long(quoted_tweet)
|
||||
try: original_tweet = self.twitter.twitter.show_status(id=id, tweet_mode="extended")
|
||||
|
@@ -17,5 +17,4 @@ class handler(BaseHTTPServer.BaseHTTPRequestHandler):
|
||||
params = parse_qs(urlparse(self.path).query)
|
||||
global verifier
|
||||
verifier = params.get('oauth_verifier', [None])[0]
|
||||
self.wfile.write("You have successfully logged into Twitter with" + application.name + ". "
|
||||
"You can close this window now.")
|
||||
self.wfile.write(_(u"You have successfully logged into Twitter with {0}. You can close this window now.").format(application.name))
|
||||
|
@@ -71,7 +71,7 @@ class timelinesStreamer(TwythonStreamer):
|
||||
if "text" in data and utils.is_allowed(data, self.session.settings["twitter"]["ignored_clients"]) == True:
|
||||
if data.has_key("extended_tweet"):
|
||||
data["full_text"] = data["extended_tweet"]["full_text"]
|
||||
data["entities"] = data["extended_tweet"]["entities"]
|
||||
# data["entities"] = data["extended_tweet"]["entities"]
|
||||
# log.error(data["extended_entities"])
|
||||
self.check_tls(data)
|
||||
# except:
|
||||
|
@@ -137,8 +137,9 @@ class streamer(TwythonStreamer):
|
||||
elif "text" in data and utils.is_allowed(data, self.session.settings["twitter"]["ignored_clients"]) == True:
|
||||
if data.has_key("extended_tweet"):
|
||||
data["full_text"] = data["extended_tweet"]["full_text"]
|
||||
data["entities"] = data["extended_tweet"]["entities"]
|
||||
# log.error("Extended tweet")
|
||||
# data["entities"].extend(data["extended_tweet"]["entities"])
|
||||
# log.error(data["extended_tweet"])
|
||||
# log.error("Extended tweet")
|
||||
if data["user"]["id"] in self.muted_users: return
|
||||
self.check_mentions(data)
|
||||
self.check_send(data)
|
||||
|
@@ -59,8 +59,11 @@ def compose_tweet(tweet, db, relative_times):
|
||||
if tweet.has_key("message") == False:
|
||||
urls = utils.find_urls_in_text(text)
|
||||
for url in range(0, len(urls)):
|
||||
try: text = text.replace(urls[url], tweet["entities"]["urls"][url]["expanded_url"])
|
||||
except IndexError: pass
|
||||
try:
|
||||
log.error(urls[url])
|
||||
log.error(tweet["entities"]["urls"][url])
|
||||
text = text.replace(urls[url], tweet["entities"]["urls"][url]["expanded_url"])
|
||||
except: pass
|
||||
if config.app['app-settings']['handle_longtweets']: pass
|
||||
# return [user+", ", text, ts+", ", source]
|
||||
return [user+", ", text, ts+", ", source]
|
||||
@@ -88,18 +91,24 @@ def compose_dm(tweet, db, relative_times):
|
||||
|
||||
def compose_quoted_tweet(quoted_tweet, original_tweet):
|
||||
""" It receives a tweet and returns a list with the user, text for the tweet or message, date and the client where user is."""
|
||||
text = StripChars(quoted_tweet["full_text"])
|
||||
if quoted_tweet.has_key("full_text"):
|
||||
value = "full_text"
|
||||
else:
|
||||
value = "text"
|
||||
text = StripChars(quoted_tweet[value])
|
||||
quoting_user = quoted_tweet["user"]["name"]
|
||||
source = re.sub(r"(?s)<.*?>", "", quoted_tweet["source"])
|
||||
try: text = "rt @%s: %s" % (quoted_tweet["retweeted_status"]["user"]["screen_name"], StripChars(quoted_tweet["retweeted_status"]["full_text"]))
|
||||
except KeyError: text = "%s" % (StripChars(quoted_tweet["full_text"]))
|
||||
try: text = "rt @%s: %s" % (quoted_tweet["retweeted_status"]["user"]["screen_name"], StripChars(quoted_tweet["retweeted_status"][value]))
|
||||
except KeyError: text = "%s" % (StripChars(quoted_tweet[value]))
|
||||
if text[-1] in chars: text=text+"."
|
||||
original_user = original_tweet["user"]["screen_name"]
|
||||
if original_tweet.has_key("message"):
|
||||
original_text = StripChars(original_tweet["message"])
|
||||
else:
|
||||
elif original_tweet.has_key("full_text"):
|
||||
original_text = StripChars(original_tweet["full_text"])
|
||||
quoted_tweet["message"] = _(u"{0}. Quoted tweet from @{1}: {2}").format( quoted_tweet["full_text"], original_user, original_text)
|
||||
else:
|
||||
original_text = StripChars(original_tweet["text"])
|
||||
quoted_tweet["message"] = _(u"{0}. Quoted tweet from @{1}: {2}").format( quoted_tweet[value], original_user, original_text)
|
||||
quoted_tweet = tweets.clear_url(quoted_tweet)
|
||||
return quoted_tweet
|
||||
|
||||
|
@@ -71,8 +71,8 @@ def get_all_mentioned(tweet, conf):
|
||||
string = []
|
||||
for i in tweet["entities"]["user_mentions"]:
|
||||
if i["screen_name"] != conf["user_name"] and i["screen_name"] != tweet["user"]["screen_name"]:
|
||||
if "@"+i["screen_name"] not in string:
|
||||
string.append("@"+i["screen_name"])
|
||||
if i["id"] not in string:
|
||||
string.append(i["id_str"])
|
||||
return " ".join(string)+" "
|
||||
|
||||
def get_all_users(tweet, conf):
|
||||
|
File diff suppressed because it is too large
Load Diff
3022
tools/twblue.pot
3022
tools/twblue.pot
File diff suppressed because it is too large
Load Diff
@@ -1,4 +1,4 @@
|
||||
{"current_version": "0.86",
|
||||
{"current_version": "0.87",
|
||||
"description": "The first version for the new generation of TWBlue.",
|
||||
"downloads":
|
||||
{"Windows32": "http://twblue.es/pubs/twblue_ngen_0.80_x86.zip",
|
||||
|
Reference in New Issue
Block a user