comparison pidgin-twitter.h @ 239:e3a24c98772d

added a new feature that strips excessive consecutive new line characters.
author Yoshiki Yazawa <yaz@honeyplanet.jp>
date Tue, 07 Oct 2008 14:51:22 +0900
parents a93a85623a92
children 405f8b880142
comparison
equal deleted inserted replaced
238:2e431c7062f2 239:e3a24c98772d
34 CHANNEL_WASSR, 34 CHANNEL_WASSR,
35 IMAGE_TWITTER, 35 IMAGE_TWITTER,
36 IMAGE_WASSR, 36 IMAGE_WASSR,
37 IMAGE_IDENTICA, 37 IMAGE_IDENTICA,
38 TAG_IDENTICA, 38 TAG_IDENTICA,
39 SIZE_128_WASSR 39 SIZE_128_WASSR,
40 EXCESS_LF
40 }; 41 };
41 42
42 /* service id */ 43 /* service id */
43 enum { 44 enum {
44 unknown_service = -1, 45 unknown_service = -1,
122 #define OPT_FILTER OPT_PIDGINTWITTER "/filter" 123 #define OPT_FILTER OPT_PIDGINTWITTER "/filter"
123 #define OPT_FILTER_EXCLUDE_REPLY OPT_PIDGINTWITTER "/filter_exclude_reply" 124 #define OPT_FILTER_EXCLUDE_REPLY OPT_PIDGINTWITTER "/filter_exclude_reply"
124 #define OPT_FILTER_TWITTER OPT_PIDGINTWITTER "/filter_twitter" 125 #define OPT_FILTER_TWITTER OPT_PIDGINTWITTER "/filter_twitter"
125 #define OPT_FILTER_WASSR OPT_PIDGINTWITTER "/filter_wassr" 126 #define OPT_FILTER_WASSR OPT_PIDGINTWITTER "/filter_wassr"
126 #define OPT_FILTER_IDENTICA OPT_PIDGINTWITTER "/filter_identica" 127 #define OPT_FILTER_IDENTICA OPT_PIDGINTWITTER "/filter_identica"
128 #define OPT_STRIP_EXCESS_LF OPT_PIDGINTWITTER "/strip_excess_lf"
127 129
128 #ifdef _WIN32 130 #ifdef _WIN32
129 #define OPT_PIDGIN_BLINK_IM PIDGIN_PREFS_ROOT "/win32/blink_im" 131 #define OPT_PIDGIN_BLINK_IM PIDGIN_PREFS_ROOT "/win32/blink_im"
130 #endif 132 #endif
131 133
151 #define P_PSEUDO "^\\s*(?:[\"#$%&'()*+,\\-./:;<=>?\\[\\\\\\]_`{|}~]|[^\\s\\x21-\\x7E])*([dDfFgGlLmMnNtTwW]{1})(?:\\Z|\\s+|[^\\x21-\\x7E]+\\Z)" 153 #define P_PSEUDO "^\\s*(?:[\"#$%&'()*+,\\-./:;<=>?\\[\\\\\\]_`{|}~]|[^\\s\\x21-\\x7E])*([dDfFgGlLmMnNtTwW]{1})(?:\\Z|\\s+|[^\\x21-\\x7E]+\\Z)"
152 #define P_USER "^.*?(?:<a .+?>)?([-A-Za-z0-9_]+)(?:</a>)?:" 154 #define P_USER "^.*?(?:<a .+?>)?([-A-Za-z0-9_]+)(?:</a>)?:"
153 #define P_CHANNEL "^(.*?(?:<a .+?>)?[-A-Za-z0-9_]+(?:</a>)?: \\r?\\n?#)([A-Za-z0-9_]+) " 155 #define P_CHANNEL "^(.*?(?:<a .+?>)?[-A-Za-z0-9_]+(?:</a>)?: \\r?\\n?#)([A-Za-z0-9_]+) "
154 #define P_IMAGE_TWITTER "<a href=\"/account/profile_image/.+?\"><img .+? id=\"profile-image\".*src=\"(http://.+)\" .+?/>" 156 #define P_IMAGE_TWITTER "<a href=\"/account/profile_image/.+?\"><img .+? id=\"profile-image\".*src=\"(http://.+)\" .+?/>"
155 #define P_IMAGE_WASSR "<div class=\"image\"><a href=\".+\"><img src=\"(.+)\" width=\".+?\" /></a></div>" 157 #define P_IMAGE_WASSR "<div class=\"image\"><a href=\".+\"><img src=\"(.+)\" width=\".+?\" /></a></div>"
158 #define P_SIZE_128_WASSR "\\.128\\."
156 #define P_IMAGE_IDENTICA "<img src=\"(http://.+.identi.ca/.+)\" class=\"avatar profile\" width=\"96\" height=\"96\" alt=\"[A-Za-z0-0_]+\"/>" 159 #define P_IMAGE_IDENTICA "<img src=\"(http://.+.identi.ca/.+)\" class=\"avatar profile\" width=\"96\" height=\"96\" alt=\"[A-Za-z0-0_]+\"/>"
157 #define P_TAG_IDENTICA "#([-A-Za-z0-9_]+)" 160 #define P_TAG_IDENTICA "#([-A-Za-z0-9_]+)"
158 #define P_SIZE_128_WASSR "\\.128\\." 161 #define P_EXCESS_LF "([\\r|\\n]{3,})"
159 162
160 /* twitter API specific macros */ 163 /* twitter API specific macros */
161 #define TWITTER_BASE_URL "http://twitter.com" 164 #define TWITTER_BASE_URL "http://twitter.com"
162 #define TWITTER_STATUS_GET "GET /statuses/friends_timeline.xml HTTP/1.1\r\n" \ 165 #define TWITTER_STATUS_GET "GET /statuses/friends_timeline.xml HTTP/1.1\r\n" \
163 "Host: twitter.com\r\n" \ 166 "Host: twitter.com\r\n" \