skype-history-import 1.0.2 → 1.0.3

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/VERSION CHANGED
@@ -1 +1 @@
1
- 1.0.2
1
+ 1.0.3
@@ -7,28 +7,34 @@ def import(text)
7
7
 
8
8
  while text.strip.size > 0
9
9
  if text =~ /^\[(.*)\] (.*): (.*)/
10
-
10
+
11
11
  # handle tail of prev multi line message
12
12
  unless $` == nil or message.text == nil or $`.strip == ""
13
13
  message.text += $`
14
14
  end
15
15
 
16
- # message start
17
- message = Message.new
18
-
19
- begin
20
- message.date = DateTime.strptime($1, "%d/%m/%Y %H:%M:%S")
21
- message.nick = $2
22
- message.text = $3
23
- rescue
24
- puts "Exception '#{$!}' on match *** #{$~} ***"
25
- raise
16
+ # if date is only time, then found string is boby of prev message
17
+ time = DateTime.strptime($1, "%H:%M:%S") rescue nil
18
+ if time
19
+ message.text += $&
20
+ else
21
+ # message start
22
+ message = Message.new
23
+
24
+ begin
25
+ message.date = DateTime.strptime($1, "%d/%m/%Y %H:%M:%S")
26
+ message.nick = $2
27
+ message.text = $3
28
+ rescue
29
+ puts "Exception '#{$!}' on match *** #{$~} ***"
30
+ raise
31
+ end
32
+
33
+ result.push(message)
26
34
  end
27
35
 
28
- result.push(message)
29
36
  end
30
37
 
31
-
32
38
  text = $'
33
39
  end
34
40
 
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{skype-history-import}
8
- s.version = "1.0.2"
8
+ s.version = "1.0.3"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["SergXIIIth"]
12
- s.date = %q{2011-06-23}
12
+ s.date = %q{2011-06-24}
13
13
  s.description = %q{Manualy user copy chat history to file or string and after gem import(parse) it to class Message}
14
14
  s.email = %q{smkrbr@gmail.com}
15
15
  s.extra_rdoc_files = [
@@ -59,11 +59,39 @@ Exception#to_s was found to be problematic around it. The method can trick safe
59
59
  assert_equal(DateTime.new(2011,06,22, 16,26,57), result.date)
60
60
  end
61
61
 
62
- should "import real chat" do
63
- file = File.open("/home/msa/real_skype_chat.txt", "rb")
64
- messages = file.read
62
+ should "message with only time go to prev message" do
63
+ messages = <<-message
64
+ [22/06/2011 16:26:57] sam: This message has been removed.
65
+ [16:26:57] mtv: Boby of prev message.
66
+ message
67
+
65
68
  result = import(messages)
66
- p "so real messages count is #{result.size}"
69
+
70
+ assert_equal(1, result.size, "should be one message")
71
+
72
+ result = result[0]
73
+
74
+ assert_equal("sam", result.nick)
75
+ assert_equal(DateTime.new(2011,06,22, 16,26,57), result.date)
76
+ assert(result.text =~ /\[16:26:57\] mtv/, "message text have second line")
77
+ end
78
+
79
+ should "import real chat" do
80
+ #return
81
+ pattern = "#{Dir.home}/skype_history/*.txt"
82
+
83
+ Dir[pattern].each do |file_path|
84
+ p ""
85
+ p "Importing #{file_path} ... "
86
+
87
+ file = File.open(file_path, "rb")
88
+ messages = file.read
89
+ file.close
90
+
91
+ result = import(messages)
92
+
93
+ p "ok. Messages count is #{result.size}"
94
+ end
67
95
  end
68
96
 
69
97
  =begin
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: skype-history-import
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.2
4
+ version: 1.0.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,12 +9,12 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-06-23 00:00:00.000000000 -07:00
12
+ date: 2011-06-24 00:00:00.000000000 -07:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: shoulda
17
- requirement: &10114580 !ruby/object:Gem::Requirement
17
+ requirement: &13539880 !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
20
  - - ! '>='
@@ -22,10 +22,10 @@ dependencies:
22
22
  version: '0'
23
23
  type: :development
24
24
  prerelease: false
25
- version_requirements: *10114580
25
+ version_requirements: *13539880
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: bundler
28
- requirement: &10113920 !ruby/object:Gem::Requirement
28
+ requirement: &13539240 !ruby/object:Gem::Requirement
29
29
  none: false
30
30
  requirements:
31
31
  - - ~>
@@ -33,10 +33,10 @@ dependencies:
33
33
  version: 1.0.0
34
34
  type: :development
35
35
  prerelease: false
36
- version_requirements: *10113920
36
+ version_requirements: *13539240
37
37
  - !ruby/object:Gem::Dependency
38
38
  name: jeweler
39
- requirement: &10113160 !ruby/object:Gem::Requirement
39
+ requirement: &13538420 !ruby/object:Gem::Requirement
40
40
  none: false
41
41
  requirements:
42
42
  - - ~>
@@ -44,10 +44,10 @@ dependencies:
44
44
  version: 1.6.2
45
45
  type: :development
46
46
  prerelease: false
47
- version_requirements: *10113160
47
+ version_requirements: *13538420
48
48
  - !ruby/object:Gem::Dependency
49
49
  name: rcov
50
- requirement: &10111760 !ruby/object:Gem::Requirement
50
+ requirement: &13537100 !ruby/object:Gem::Requirement
51
51
  none: false
52
52
  requirements:
53
53
  - - ! '>='
@@ -55,7 +55,7 @@ dependencies:
55
55
  version: '0'
56
56
  type: :development
57
57
  prerelease: false
58
- version_requirements: *10111760
58
+ version_requirements: *13537100
59
59
  description: Manualy user copy chat history to file or string and after gem import(parse)
60
60
  it to class Message
61
61
  email: smkrbr@gmail.com
@@ -92,7 +92,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
92
92
  version: '0'
93
93
  segments:
94
94
  - 0
95
- hash: -2147095837222939454
95
+ hash: 1262013932544102761
96
96
  required_rubygems_version: !ruby/object:Gem::Requirement
97
97
  none: false
98
98
  requirements: