twitter2vk_reposter 0.3 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/ChangeLog CHANGED
@@ -1,3 +1,8 @@
1
+ == 0.3.1 (Рис)
2
+ * Installer use log file in cron task.
3
+ * Check required options in reposter.
4
+ * Fix issue on empty last message ID file.
5
+
1
6
  == 0.3 (Суп)
2
7
  * Repost retweets.
3
8
  * Add last format, which will be add to status after trimmed text.
data/README.markdown CHANGED
@@ -1,57 +1,8 @@
1
1
  # twitter2vk
2
2
 
3
- ## English
4
- Automatic script to repost statuses from Twitter to VK. It also contain in
5
- separated package CLI tool to create config and add cron task.
6
-
7
- Warning: config contain session ID for VK, which can be used to get full access.
8
- Make sure that outsiders don’t have access to this file.
9
-
10
- By default, reply and statuses with #novk willn’t be reposted to VK (but you may
11
- use #vk to repost any status).
12
-
13
- You may install on server only twitter2vk_reposter package and create config
14
- on home computer (don’t remember to add cron task). Or you can uninstall
15
- twitter2vk after you create config.
16
-
17
- You can follow author @andrey_sitnik to receive last updates info.
18
-
19
- ### Install
20
- 1. Install Ruby and Rubygems. For example, on Ubuntu:
21
-
22
- sudo apt-get install rubygems
23
-
24
- 2. Install twitter2vk gem:
25
-
26
- sudo gem install twitter2vk
27
-
28
- 3. Run master to create config and add crom task:
29
-
30
- twitter2vk
31
-
32
- ### Config
33
- Config is a YAML files with options:
34
-
35
- * `vk_session` – session ID to access to VK.
36
- * `twitter_token`, `twitter_secret` — data to access to Twitter by OAuth.
37
- * `exclude` – list of text or regexp patterns to exclude statuses from your VK.
38
- Code `:reply` will exclude your replies to another users, `:retweet` will
39
- exclude retweets by you.
40
- * `include` – list of text or regexp patterns to repost excluded statuses.
41
- * `format` – format reposted status. `%status%` will be replaced by status text,
42
- `%url%` by status link on Twitter.
43
- * `last` — text after `format`. If status will be longer that VK allow,
44
- `format` will be trim first. So `last` it useful, to set link to Twitter
45
- status.
46
- * `retweet` — format of retweet. `%status%` will be replaced by text,
47
- `%author%` will be replace by tweet author.
48
- * `replace` – list of array with 2 elements to replace text in status. Code
49
- `:user_to_url` will replace user name to his Twitter link.
50
- * `last_message` – file to contain ID of last reposted message.
51
-
52
3
  ## По-русски
53
4
 
54
- Автоматический скрипт для публикации статусов Twitter’а во В Контакте. Так же
5
+ Скрипт для автоматической публикации статусов Twitter’а во В Контакте. Так же
55
6
  в отдельном пакете есть консольная утилита для создания настроек и добавления
56
7
  задачи в cron.
57
8
 
@@ -68,6 +19,13 @@ Config is a YAML files with options:
68
19
  Вы можете последовать за автором @andrey_sitnik, чтобы получать информацию
69
20
  о последних обновлениях.
70
21
 
22
+ Подробная статья — http://habrahabr.ru/blogs/twitter/88386/ .
23
+
24
+ ### Возможности
25
+ - Не хранит пароли в настройках.
26
+ - Поддерживает ретвиты.
27
+ - Имеет гибкие настройки формата статуса и игнорирования статусов.
28
+
71
29
  ### Установка
72
30
  1. Установите Ruby и Rubygems. Например, для Ubuntu:
73
31
 
@@ -101,3 +59,57 @@ Config is a YAML files with options:
101
59
  * `replace` — список массивов из двух элементов для замены текста в статусе. Код
102
60
  `:user_to_url` заменит имена пользователей на ссылку на их Twitter.
103
61
  * `last_message` — файл, чтобы хранить ID последнего полученного сообщения.
62
+
63
+ ## English
64
+ Script to automatically repost statuses from Twitter to VK. It also contain in
65
+ separated package CLI tool to create config and add cron task.
66
+
67
+ Warning: config contain session ID for VK, which can be used to get full access.
68
+ Make sure that outsiders don’t have access to this file.
69
+
70
+ By default, reply and statuses with #novk willn’t be reposted to VK (but you may
71
+ use #vk to repost any status).
72
+
73
+ You may install on server only twitter2vk_reposter package and create config
74
+ on home computer (don’t remember to add cron task). Or you can uninstall
75
+ twitter2vk after you create config.
76
+
77
+ You can follow author @andrey_sitnik to receive last updates info.
78
+
79
+ ### Features
80
+ * Don’t store passwords in config.
81
+ * Retweet support.
82
+ * Flexible status format and ignore rules.
83
+
84
+ ### Install
85
+ 1. Install Ruby and Rubygems. For example, on Ubuntu:
86
+
87
+ sudo apt-get install rubygems
88
+
89
+ 2. Install twitter2vk gem:
90
+
91
+ sudo gem install twitter2vk
92
+
93
+ 3. Run master to create config and add crom task:
94
+
95
+ twitter2vk
96
+
97
+ ### Config
98
+ Config is a YAML files with options:
99
+
100
+ * `vk_session` – session ID to access to VK.
101
+ * `twitter_token`, `twitter_secret` — data to access to Twitter by OAuth.
102
+ * `exclude` – list of text or regexp patterns to exclude statuses from your VK.
103
+ Code `:reply` will exclude your replies to another users, `:retweet` will
104
+ exclude retweets by you.
105
+ * `include` – list of text or regexp patterns to repost excluded statuses.
106
+ * `format` – format reposted status. `%status%` will be replaced by status text,
107
+ `%url%` by status link on Twitter.
108
+ * `last` — text after `format`. If status will be longer that VK allow,
109
+ `format` will be trim first. So `last` it useful, to set link to Twitter
110
+ status.
111
+ * `retweet` — format of retweet. `%status%` will be replaced by text,
112
+ `%author%` will be replace by tweet author.
113
+ * `replace` – list of array with 2 elements to replace text in status. Code
114
+ `:user_to_url` will replace user name to his Twitter link.
115
+ * `last_message` – file to contain ID of last reposted message.
@@ -17,7 +17,7 @@ if ARGV.empty? or '--help' == ARGV.first or '-h' == ARGV.first
17
17
  puts 'Usage: twitter2vk_reposter.rb CONFIG'
18
18
  puts 'Repost Twitter statuses to VK.com. Call twitter2vk script to create ' +
19
19
  'config and add cron task.'
20
- exit
20
+ exit 0
21
21
  end
22
22
 
23
23
  def check(status, pattern)
@@ -86,9 +86,17 @@ default = {
86
86
  }
87
87
  config = default.merge(YAML.load_file(ARGV.first))
88
88
 
89
+ missed = %w{twitter_token twitter_secret last_message vk_session} - config.keys
90
+ if missed
91
+ STDERR.puts "Config #{ARGV.first} has't required options: " +
92
+ "#{missed.join(', ')}."
93
+ exit 1
94
+ end
95
+
89
96
  last_message = if File.exists? config['last_message']
90
97
  File.read(config['last_message']).strip
91
98
  end
99
+ last_message = nil unless last_message =~ /^\d/
92
100
 
93
101
  twitter = TwitterOAuth::Client.new(:consumer_key => 'lGdk5MXwNqFyQ6glsog0g',
94
102
  :consumer_secret => 'jHfpLGY11clNSh9M0Fqnjl7fzqeHwrKSWTBo4i8TUcE',
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: twitter2vk_reposter
3
3
  version: !ruby/object:Gem::Version
4
- version: "0.3"
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrey "A.I." Sitnik
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2010-03-22 00:00:00 +03:00
12
+ date: 2010-03-26 00:00:00 +03:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency