diff options
author | dequis <dx@dxzone.com.ar> | 2015-02-20 19:47:33 -0300 |
---|---|---|
committer | dequis <dx@dxzone.com.ar> | 2015-02-20 19:47:33 -0300 |
commit | 0ca1d79cff9e6a9fb9fa4796814c9e77a9cfcc19 (patch) | |
tree | 0dab1800752e0a28461bd8c8e5b9ceebf6b4d2a6 | |
parent | 34afea7dd6b066a9e7153d16a8e386c7c90ffe87 (diff) |
Revert "Twitter format strings"
This reverts commit ce402b20d82ec323e6bd5e306de934773590742d.
See discussion in PR #10 for more details.
-rw-r--r-- | doc/user-guide/commands.xml | 62 | ||||
-rw-r--r-- | protocols/twitter/twitter.c | 4 | ||||
-rw-r--r-- | protocols/twitter/twitter_lib.c | 63 |
3 files changed, 15 insertions, 114 deletions
diff --git a/doc/user-guide/commands.xml b/doc/user-guide/commands.xml index b840350c..6ce19774 100644 --- a/doc/user-guide/commands.xml +++ b/doc/user-guide/commands.xml @@ -1090,68 +1090,6 @@ </bitlbee-setting> - <bitlbee-setting name="format_string" type="string" scope="account"> - <default>^B[^B%i^B]^B %c</default> - - <description> - <para> - This setting controls how tweets are displayed. Below are listed the two replacement attributes you may use in the string. If you wish to use a percent symbol in your string, ensure you escape it with a second percent symbol (i.e. "%%"). - </para> - - <para> - The default setting contains ^B as a control code for toggling of the bold property. Other similar properties (including color codes) are also functional in this setting. See the documentation for your IRC client for details on such control codes. - </para> - - <variablelist> - <varlistentry><term>%i</term><listitem><para>The ID of the tweet</para></listitem></varlistentry> - <varlistentry><term>%c</term><listitem><para>The text of the tweet</para></listitem></varlistentry> - </variablelist> - </description> - - </bitlbee-setting> - - <bitlbee-setting name="reply_format_string" type="string" scope="account"> - <default>^B[^B%i->%t^B]^B %c</default> - - <description> - <para> - This setting controls how replies to tweets are displayed. Below are listed the three replacement attributes you may use in the string. If you wish to use a percent symbol in your string, ensure you escape it with a second percent symbol (i.e. "%%"). - </para> - - <para> - The default setting contains ^B as a control code for toggling of the bold property. Other similar properties (including color codes) are also functional in this setting. See the documentation for your IRC client for details on such control codes. - </para> - - <variablelist> - <varlistentry><term>%i</term><listitem><para>The ID of this tweet</para></listitem></varlistentry> - <varlistentry><term>%r</term><listitem><para>The ID of the tweet being replied to</para></listitem></varlistentry> - <varlistentry><term>%c</term><listitem><para>The text of the tweet</para></listitem></varlistentry> - </variablelist> - </description> - - </bitlbee-setting> - - <bitlbee-setting name="retweet_format_string" type="string" scope="account"> - <default>^B[^B%i^B]^B RT @%a: %c</default> - - <description> - <para> - This setting controls how retweets are displayed. Below are listed the three replacement attributes you may use in the string. If you wish to use a percent symbol in your string, ensure you escape it with a second percent symbol (i.e. "%%"). - </para> - - <para> - The default setting contains ^B as a control code for toggling of the bold property. Other similar properties (including color codes) are also functional in this setting. See the documentation for your IRC client for details on such control codes. - </para> - - <variablelist> - <varlistentry><term>%i</term><listitem><para>The ID of the tweet</para></listitem></varlistentry> - <varlistentry><term>%a</term><listitem><para>The author of the original tweet</para></listitem></varlistentry> - <varlistentry><term>%c</term><listitem><para>The text of the tweet</para></listitem></varlistentry> - </variablelist> - </description> - - </bitlbee-setting> - <bitlbee-setting name="mobile_is_away" type="boolean" scope="global"> <default>false</default> diff --git a/protocols/twitter/twitter.c b/protocols/twitter/twitter.c index 8f5dc168..eb30187f 100644 --- a/protocols/twitter/twitter.c +++ b/protocols/twitter/twitter.c @@ -538,10 +538,6 @@ static void twitter_init(account_t * acc) s = set_add(&acc->set, "show_old_mentions", "0", set_eval_int, acc); s = set_add(&acc->set, "strip_newlines", "false", set_eval_bool, acc); - - s = set_add(&acc->set, "format_string", "\002[\002%i\002]\002 %c", NULL, acc); - s = set_add(&acc->set, "retweet_format_string", "\002[\002%i\002]\002 RT @%a: %c", NULL, acc); - s = set_add(&acc->set, "reply_format_string", "\002[\002%i->%r\002]\002 %c", NULL, acc); s = set_add(&acc->set, "_last_tweet", "0", NULL, acc); s->flags |= SET_HIDDEN | SET_NOSAVE; diff --git a/protocols/twitter/twitter_lib.c b/protocols/twitter/twitter_lib.c index b827a139..c8956606 100644 --- a/protocols/twitter/twitter_lib.c +++ b/protocols/twitter/twitter_lib.c @@ -62,7 +62,6 @@ struct twitter_xml_status { guint64 id, rt_id; /* Usually equal, with RTs id == *original* id */ guint64 reply_to; gboolean from_filter; - struct twitter_xml_status *rt; }; /** @@ -88,7 +87,6 @@ static void txs_free(struct twitter_xml_status *txs) g_free(txs->text); txu_free(txs->user); - txs_free(txs->rt); g_free(txs); } @@ -490,9 +488,9 @@ static struct twitter_xml_status *twitter_xt_get_status(const json_value *node) struct twitter_xml_status *rtxs = twitter_xt_get_status(rt); if (rtxs) { g_free(txs->text); - txs->text = g_strdup(rtxs->text); + txs->text = g_strdup_printf("RT @%s: %s", rtxs->user->screen_name, rtxs->text); txs->id = rtxs->id; - txs->rt = rtxs; + txs_free(rtxs); } } else if (entities) { txs->text = expand_entities(txs->text, entities); @@ -610,49 +608,6 @@ static gboolean twitter_xt_get_status_list(struct im_connection *ic, const json_ return TRUE; } -/** - * Function to properly format a tweet as per the users configuration. - */ -static char *twitter_msg_get_text(struct im_connection *ic, int log_id, int reply_to, - struct twitter_xml_status *txs, const char *prefix) { - gchar * format = set_getstr(&ic->acc->set, "format_string"); - GString * text = g_string_new(NULL); - - gchar *c; - if (reply_to != -1) - format = set_getstr(&ic->acc->set, "reply_format_string"); - if (txs->rt) - format = set_getstr(&ic->acc->set, "retweet_format_string"); - - for (c = format; *c ; c++) { - if (!(*c == '%' && *(c+1))) { - text = g_string_append_c(text, *c); - continue; - } - c++; // Move past the % - switch (*c) { - case 'i': - g_string_append_printf(text, "%02x", log_id); - break; - case 'r': - if (reply_to != -1) // In case someone does put %r in the wrong format_string - g_string_append_printf(text, "%02x", reply_to); - break; - case 'a': - if (txs->rt) // In case someone does put %a in the wrong format_string - text = g_string_append(text, txs->rt->user->screen_name); - break; - case 'c': - text = g_string_append(text, txs->text); - break; - default: - text = g_string_append_c(text, *c); - } - } - text = g_string_prepend(text, prefix); - return g_string_free(text, FALSE); -} - /* Will log messages either way. Need to keep track of IDs for stream deduping. Plus, show_ids is on by default and I don't see why anyone would disable it. */ static char *twitter_msg_add_id(struct im_connection *ic, @@ -691,7 +646,19 @@ static char *twitter_msg_add_id(struct im_connection *ic, if (g_strcasecmp(txs->user->screen_name, td->user) == 0) td->log[td->log_id].id = txs->rt_id; - return twitter_msg_get_text(ic, td->log_id, reply_to, txs, prefix); + if (set_getbool(&ic->acc->set, "show_ids")) { + if (reply_to != -1) + return g_strdup_printf("\002[\002%02x->%02x\002]\002 %s%s", + td->log_id, reply_to, prefix, txs->text); + else + return g_strdup_printf("\002[\002%02x\002]\002 %s%s", + td->log_id, prefix, txs->text); + } else { + if (*prefix) + return g_strconcat(prefix, txs->text, NULL); + else + return NULL; + } } /** |