ig3tool 0.4.5 → 0.4.6

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.
@@ -1,14 +1,5 @@
1
1
  require 'time'
2
2
 
3
- begin
4
- require "amazon/search"
5
- $amazon_loaded = 1
6
- rescue Exception => e
7
- STDERR.puts "Ruby/Amazon kon niet geladen worden: " + e.to_s
8
- end
9
-
10
-
11
-
12
3
  module Ig3tool
13
4
 
14
5
  class BibliotheekWindow < GladeHelper
@@ -68,10 +59,10 @@ module Ig3tool
68
59
  @loan_list.model = @loan_list_store = Gtk::ListStore.new(Object, String, String, String, String, String, String)
69
60
  ll = Gtk::CellRendererText.new
70
61
  @loan_list.insert_column(-1, "loan date", ll) do |tvc, cell, m ,iter|
71
- cell.text = Time.parse(iter[0].loan_date).strftime("%d/%m/%y")
62
+ cell.text = iter[0].loan_date.strftime("%d/%m/%y")
72
63
  end
73
64
  @loan_list.insert_column(-1, "return on", ll) do |tvc, cell, m ,iter|
74
- date = Time.parse(iter[0].return_date)
65
+ date = iter[0].return_date
75
66
  ll.foreground = "red" if date > Time.now
76
67
  cell.text = date.strftime("%d/%m/%y")
77
68
  ll.foreground = "black"
@@ -244,7 +235,11 @@ module Ig3tool
244
235
  Thread.new do
245
236
  begin
246
237
  books = $client.bib_lookup(get_fields)
247
- if books.size == 1
238
+ puts books
239
+ case books.size
240
+ when 0 #book not found in db
241
+ _lookup_isbnbook(@books_isbn.text)
242
+ when 1
248
243
  _show(books.first)
249
244
  else
250
245
  _update_books_list(books)
@@ -288,16 +283,16 @@ module Ig3tool
288
283
  def loan_loan(widget)
289
284
  @loan_notification.text = ""
290
285
  begin
291
- fields = get_loan_fields
292
- if fields["member"] =~ /[a-zA-Z]+/
293
- puts "username ipv barcode: #{fields["member"]}"
294
- membership = $client.person_membership(fields["member"])
295
- if membership.nil?
296
- raise IG3Error, "#{fields["member"]} is not a member..."
297
- else
298
- fields["member"] = membership.barcode
299
- end
300
- end
286
+ fields = get_loan_fields
287
+ if fields["member"] =~ /[a-zA-Z]+/
288
+ puts "username ipv barcode: #{fields["member"]}"
289
+ membership = $client.person_membership(fields["member"])
290
+ if membership.nil?
291
+ raise IG3Error, "#{fields["member"]} is not a member..."
292
+ else
293
+ fields["member"] = membership.barcode
294
+ end
295
+ end
301
296
  $client.bib_loan!(fields)
302
297
  _update_loan_list
303
298
  loan_clear(nil)
@@ -318,44 +313,129 @@ module Ig3tool
318
313
  private
319
314
 
320
315
 
316
+ def _lookup_amazon_isbn(isbn,update = true)
317
+ begin
318
+ require 'amazon/aws/search'
319
+ rescue Exception => e
320
+ STDERR.puts "Ruby/Amazon/Aws/Search kon niet geladen worden: " + e.to_s
321
+ return {}
322
+ end
323
+ #voor amazon bestaan der 2 libs die sterk op elkaar lijke qua naam
324
+ #juiste is: http://www.caliban.org/ruby/ruby-aws/
321
325
 
322
- def _lookup_amazon_isbn (isbn)
323
- return false unless $amazon_loaded # Indien de amazon gem niet geladen is, return
324
- return false unless _isbn?(true,isbn) # Indien strenge test faalt
326
+ bookhsh = {}
327
+ token = "1857ZGN71N9Z8AV4HE02" #verplaats naar client
328
+ associate = "wwwinfogroepb-20"
329
+ #return false unless _isbn?(true,isbn) # Indien strenge test faalt
330
+ # You need a amazon-dev-token in client.rb
331
+ #token = CONFIG['amazon-dev-token']
332
+ #return unless $amazon_loaded and token.instance_of?(String) and not token.empty?
325
333
 
326
- if isbn.length == 13 # indien in de nieuwe vorm, maak er een oude van
327
- isbn = isbn[3..11]
328
- sum = 0
329
- 9.times {|i| sum += isbn[i].chr.to_i * (10 - i) }
330
- controlecijfer = 11 - (sum % 11)
331
- if controlecijfer != 10
332
- isbn = isbn + controlecijfer.to_s
333
- else
334
- isbn = isbn + "X"
334
+ begin
335
+ #req = Amazon::Search::Request.new(CONFIG["amazon-dev-token"],CONFIG["amazon-associates-id"])
336
+ req = Amazon::AWS::Search::Request.new(token,associate)
337
+ il = Amazon::AWS::ItemLookup.new("ASIN", {'ItemId' => isbn} )
338
+ rg = Amazon::AWS::ResponseGroup.new
339
+ res = req.search(il,rg)
340
+ #dont ask, feel free to improve (numlock)
341
+ books = res['item_lookup_response'].to_h
342
+ moar_book = books['items'].to_h
343
+ no_idea = moar_book['item']
344
+ book = no_idea['item_attributes'].to_h
345
+
346
+ title = book['product_name'].to_s.strip
347
+ author = book['author'].to_s.strip
348
+ publisher = book['manufacturer'].to_s.strip
349
+
350
+ bookhsh.store(:title, title) if title
351
+ bookhsh.store(:author, author) if author
352
+ bookhsh.store(:publisher, publisher) if publisher
353
+
354
+ if update
355
+ @books_title.text = title
356
+ @books_author.text = author
357
+ @books_publisher.text = publisher
358
+ @books_isbn.text = isbn
335
359
  end
360
+ bookhsh
361
+ rescue Exception => e
362
+ STDERR.puts e.message
363
+ @books_notification.text = "Fout: Lookup Amazon: #{e.message.smaller}"
364
+ {}
336
365
  end
366
+ end
337
367
 
338
- # You need a amazon-dev-token in client.rb
339
- token = CONFIG['amazon-dev-token']
340
- return unless $amazon_loaded and token.instance_of?(String) and not token.empty?
368
+ def _lookup_isbndb_isbn(isbn,update = true)
369
+ def fetch(uri_string, limit) #follow redirects
370
+ raise "Server loop" if limit < 0
371
+ response = Net::HTTP.get_response(URI.parse(uri_string))
372
+ case response
373
+ when Net::HTTPSuccess then response
374
+ when Net::HTTPRedirection then fetch(response['location'], limit - 1)
375
+ else
376
+ response.error!
377
+ end
378
+ end
379
+ def process_book(doc,isbn,update)
380
+ bookhsh = {}
381
+ doc.elements.each("ISBNdb/BookList/BookData"){|book|
382
+ #oh god, but title etc has no specific id in the xml, so can't filter on it
383
+ #processes all the books, although only 1 book should be returned by the server as we search for isbn
384
+ book.elements.each("Title"){ |_title|
385
+ title = _title.text.strip
386
+ bookhsh.store(:title, title) if title
387
+ }
388
+ book.elements.each("AuthorsText"){ |_author|
389
+ author = _author.text.strip
390
+ bookhsh.store(:author,author) if author
391
+ }
392
+ book.each_element_with_attribute("publisher_id"){ |_pub|
393
+ pub = _pub.text.strip
394
+ bookhsh.store(:publisher,pub) if pub
395
+ }
396
+ }
397
+ if update
398
+ @books_author.text = bookhsh[:author]
399
+ @books_title.text = bookhsh[:title]
400
+ @books_publisher.text = bookhsh[:publisher]
401
+ @books_isbn.text = isbn
402
+ end
403
+ return bookhsh
404
+ end
341
405
 
342
406
  begin
343
- req = Amazon::Search::Request.new(CONFIG["amazon-dev-token"],CONFIG["amazon-associates-id"])
344
- res = req.asin_search(isbn)
345
- prod = res.products
346
- return if prod.length == 0
347
- book = prod[0]
348
-
349
- @books_title.text = book['product_name'].to_s.strip
350
- @books_author.text = book['authors'].join(', ').strip if !book['authors'] and book['authors'].class == "Array" # opgelet, niets wegdoen!
351
- @books_publisher.text = book['manufacturer'].to_s.strip
352
- @books_year.text = book['release_date'].to_s.strip
353
- rescue
354
- puts e.backtrace
355
- _print_msg "Fout: Lookup Amazon: #{$!}", "ISBN: #{isbn}"
407
+ require 'net/http'
408
+ require 'rexml/document'
409
+ rescue Exception => e
410
+ STDERR.puts "Ruby/ISBN-DB kon niet geladen worden: " + e.to_s
411
+ {}
356
412
  end
413
+
414
+ #move to client (or just leave it here as you really can't do any harm with this key)
415
+ key = "Y42N22G5"
416
+ url = "http://isbndb.com/api/books.xml?"
417
+
418
+ isbnquery = "index1=isbn&value1=#{isbn}"
419
+ response = fetch("#{url}access_key=#{key}&#{isbnquery}", 10)
420
+ doc = REXML::Document.new(response.body)
421
+ puts "#{url}access_key=#{key}&#{isbnquery}"
422
+ return process_book(doc,isbn,update)
423
+
424
+ rescue Exception => e
425
+ #in case of an error we return empty hash == no book
426
+ STDERR.puts e.message
427
+ @books_notification.text = "Fout: Lookup ISBNDB: #{e.message.smaller}"
428
+ {}
429
+ end
430
+
431
+ def _lookup_isbnbook(isbn, update = true)
432
+ bookhsh = {}
433
+ bookhsh = _lookup_amazon_isbn(isbn,update) if isbn.size == 10
434
+ bookhsh = _lookup_isbndb_isbn(isbn,update) if bookhsh.size == 0
435
+ return bookhsh #hash, either empty or :title, :author, :publisher avail
357
436
  end
358
437
 
438
+
359
439
  def _show(book)
360
440
  @books_isbn.text = book["isbn"]
361
441
  @loan_isbn.text = book["isbn"]
@@ -375,7 +455,7 @@ module Ig3tool
375
455
  def _update_books_list(books=nil, clear=true)
376
456
  @books_notification.text = "loading books..."
377
457
  @books_list_store.clear if clear
378
- Thread.new do
458
+ Thread.new do
379
459
  books = $client.bib_books if books.nil?
380
460
  unless books.empty?
381
461
  books.each do |b|
@@ -393,7 +473,7 @@ module Ig3tool
393
473
 
394
474
  def _update_loan_list(clear=true)
395
475
  @loan_list_store.clear if clear
396
- Thread.new do
476
+ Thread.new do
397
477
  loans = $client.bib_loans
398
478
  loans.each do |b|
399
479
  @loan_list_store.append[0] = b
data/lib/ui/interne.rb CHANGED
@@ -27,7 +27,7 @@ module Ig3tool
27
27
  @transactions.model = @transactions_store = Gtk::ListStore.new(Object, String, String, String, String, String)
28
28
  l = Gtk::CellRendererText.new
29
29
  @transactions.insert_column(-1, "time", l) do |tvc, cell, m, iter|
30
- cell.text = Time.parse(iter[0].time).strftime("%d/%m %H:%M")
30
+ cell.text = iter[0].time.strftime("%d/%m/%y %H:%M")
31
31
  end
32
32
  @transactions.insert_column(-1, "amount", l) do |tvc, cell, m, iter|
33
33
  cell.text = iter[0].amount.from_c.to_s
@@ -133,7 +133,17 @@ module Ig3tool
133
133
  @log_menu = Gtk::Menu.new
134
134
  log_menu_refund_item = Gtk::MenuItem.new("refund")
135
135
  log_menu_show_item = Gtk::MenuItem.new("show")
136
+ log_menu_reprint_item = Gtk::MenuItem.new("reprint")
136
137
  # Treeview heeft default Mode Gtk::SELECTION_SINGLE
138
+ log_menu_reprint_item.signal_connect("activate") {
139
+ @filteredlog.selection.selected_each do |model, path, iter|
140
+ logentry = iter[0]
141
+ # do reprint stuff
142
+ $client.print_reprint!({ "logid" => logentry["id"]})
143
+ @notification.text = "attempting reprint of job #{logentry["job"]} for #{logentry["username"]}"
144
+ _update_log
145
+ end
146
+ }
137
147
  log_menu_show_item.signal_connect("activate") {
138
148
  @filteredlog.selection.selected_each do |model, path, iter|
139
149
  logentry = iter[0]
@@ -158,7 +168,8 @@ module Ig3tool
158
168
  }
159
169
 
160
170
  @log_menu.append(log_menu_show_item)
161
- @log_menu.append(log_menu_refund_item)
171
+ @log_menu.append(log_menu_refund_item)
172
+ @log_menu.append(log_menu_reprint_item)
162
173
  @log_menu.show_all
163
174
 
164
175
  end
@@ -167,7 +178,17 @@ module Ig3tool
167
178
  @log_big_menu = Gtk::Menu.new
168
179
  log_menu_refund_item = Gtk::MenuItem.new("refund")
169
180
  log_menu_show_item = Gtk::MenuItem.new("show")
181
+ log_menu_reprint_item = Gtk::MenuItem.new("reprint")
170
182
  # Treeview heeft default Mode Gtk::SELECTION_SINGLE
183
+ log_menu_reprint_item.signal_connect("activate") {
184
+ @filteredlog.selection.selected_each do |model, path, iter|
185
+ logentry = iter[0]
186
+ # do reprint stuff
187
+ $client.print_reprint!({ "logid" => logentry["id"]})
188
+ @notification.text = "attempting reprint of job #{logentry["job"]} for #{logentry["username"]}"
189
+ _update_log
190
+ end
191
+ }
171
192
  log_menu_show_item.signal_connect("activate") {
172
193
  @log.selection.selected_each do |model, path, iter|
173
194
  logentry = iter[0]
@@ -194,6 +215,7 @@ module Ig3tool
194
215
 
195
216
  @log_big_menu.append(log_menu_show_item)
196
217
  @log_big_menu.append(log_menu_refund_item)
218
+ @log_big_menu.append(log_menu_reprint_item)
197
219
  @log_big_menu.show_all
198
220
 
199
221
  end
@@ -513,10 +535,11 @@ module Ig3tool
513
535
  clear_all(nil)
514
536
  else
515
537
  begin
516
- amount = @delta.text.strip.gsub(/,/, ".")
517
- if amount.to_f < 0
518
- quick_message("\n the ig3tool imps do not accept negative values... \n")
519
- else
538
+ #amount = @delta.text.strip.gsub(/,/, ".")
539
+ amount = @delta.text.strip
540
+ #if amount.to_f < 0
541
+ # quick_message("\n the ig3tool imps do not accept negative values... \n")
542
+ #else
520
543
  $client.print_update!({:username => @username.text,
521
544
  :first_name => @firstname.text,
522
545
  :last_name => @lastname.text,
@@ -527,7 +550,7 @@ module Ig3tool
527
550
  Thread.new do
528
551
  refresh(true)
529
552
  end
530
- end
553
+ #end
531
554
  rescue Exception => e
532
555
  @notification.text = (e.class.to_s + " - " + e.message).smaller
533
556
  end
data/lib/ui/protjes.rb CHANGED
@@ -1,5 +1,13 @@
1
1
  require 'time'
2
2
 
3
+ class String
4
+
5
+ def to_boolean
6
+ return true if (self == "t" or self.to_i != 0)
7
+ return false
8
+ end
9
+
10
+ end
3
11
 
4
12
  module Ig3tool
5
13
 
@@ -25,6 +33,7 @@ def initialize
25
33
  @add_stock = @glade.get_widget("add_stock")
26
34
  @add_prodcat = @glade.get_widget("add_prodcat")
27
35
  @add_categories = @glade.get_widget("add_categories")
36
+ @continuous_stock = @glade.get_widget("continuous_stock_check")
28
37
 
29
38
  @categories = $client.product_categories.collect {|x| x.name}.sort
30
39
 
@@ -96,7 +105,7 @@ def initialize
96
105
  @purchase_log.model = @purchase_log_store = Gtk::ListStore.new(Object, String, String, String, String, String)
97
106
  l = Gtk::CellRendererText.new
98
107
  @purchase_log.insert_column(-1, "time", l) do |tvc, cell, m, iter|
99
- cell.text = Time.parse(iter[0].time).strftime("%d/%m/%y")
108
+ cell.text = iter[0].time.strftime("%d/%m/%y")
100
109
  end
101
110
  @purchase_log.insert_column(-1, "barcode", l) do |tvc, cell, m, iter|
102
111
  cell.text = iter[0].product
@@ -127,7 +136,7 @@ def initialize
127
136
  @spurchase_log.model = @spurchase_log_store = Gtk::ListStore.new(Object, String, String, String, String, String, String)
128
137
  l = Gtk::CellRendererText.new
129
138
  @spurchase_log.insert_column(-1, "time", l) do |tvc, cell, m, iter|
130
- cell.text = Time.parse(iter[0].time).strftime("%d/%m/%y")
139
+ cell.text = iter[0].time.strftime("%d/%m/%y")
131
140
  end
132
141
  @spurchase_log.insert_column(-1, "barcode", l) do |tvc, cell, m, iter|
133
142
  cell.text = iter[0].product
@@ -189,6 +198,8 @@ def initialize
189
198
  @slog_categories.model = cat6_model
190
199
  @slog_categories.active = 0
191
200
 
201
+ @continuous_stock.active = false
202
+
192
203
  toggle_purchase_fields(false)
193
204
  _add_clear
194
205
  _purchase_clear
@@ -203,14 +214,6 @@ def initialize
203
214
  @handler4 = @purchase_price.signal_connect("changed"){ price_amount_changed }
204
215
  @handler5 = @purchase_amount.signal_connect("changed"){ price_amount_changed }
205
216
 
206
- %w(focus-out-event activate).each do |s|
207
- @purchase_amount.signal_connect s do
208
- if @purchase_price.text.strip.to_c == 0
209
- @purchase_price.text = (@purchase_amount.text.strip.to_i * @purchase_debuggers_orig.text.to_f).to_s
210
- end
211
- false
212
- end
213
- end
214
217
  #@handler8 = @add_categories.signal_connect("changed"){ refresh }
215
218
  @handler9 = @purchase_categories.signal_connect("changed"){ refresh }
216
219
  @handler10 = @stock_categories.signal_connect("changed"){ refresh }
@@ -229,6 +232,17 @@ def initialize
229
232
  make_eval_widget w
230
233
  end
231
234
 
235
+ # Update prices after amount change
236
+ %w(focus-out-event activate).each do |s|
237
+ @purchase_amount.signal_connect s do
238
+ number_eval_widget(@purchase_amount, "0.0")
239
+ if @purchase_price.text.strip.to_c == 0
240
+ @purchase_price.text = (@purchase_amount.text.strip.to_i * @purchase_debuggers_orig.text.to_f).to_s
241
+ end
242
+ false
243
+ end
244
+ end
245
+
232
246
  @handler69 = @purchase_debugger.signal_connect("changed"){ purchase_debugger_changed }
233
247
  @debugger_stamp = nil
234
248
 
@@ -269,7 +283,7 @@ end
269
283
  @purchase_debuggers.text = new.to_i.from_c.to_s
270
284
  @purchase_members.text = afronden(newm).from_c.to_s
271
285
  @purchase_plebs.text = afronden(newp).from_c.to_s
272
- @purchase_accept.active = true
286
+ #@purchase_accept.active = true
273
287
  rescue Exception => e
274
288
  @purchase_debuggers.text = new.to_i.from_c.to_s
275
289
  @purchase_members.text = afronden(new.to_i).from_c.to_s
@@ -550,7 +564,12 @@ end
550
564
  raise Needed, "please scan a barcode" if @add_barcode.text.strip.empty?
551
565
  raise Needed, "please enter a descriptive name" if @add_name.text.strip.empty?
552
566
  raise Needed, "please select a category" if @add_prodcat.active == -1
553
- $client.product_save!("barcode" => @add_barcode.text.strip, "name" => @add_name.text.strip, "dprice" => @manage_debuggers.text.strip.to_c, "mprice" => @manage_members.text.strip.to_c, "nmprice" => @manage_plebs.text.strip.to_c, "category" => @categories[@add_prodcat.active])
567
+ if @continuous_stock.active?
568
+ cs = 1
569
+ else
570
+ cs = 0
571
+ end
572
+ $client.product_save!("barcode" => @add_barcode.text.strip, "name" => @add_name.text.strip, "continuous_stock" => cs, "dprice" => @manage_debuggers.text.strip.to_c, "mprice" => @manage_members.text.strip.to_c, "nmprice" => @manage_plebs.text.strip.to_c, "category" => @categories[@add_prodcat.active])
554
573
  _update_add_products(false)
555
574
  @add_notification.text = "the imps saved the product!"
556
575
  _add_clear(false)
@@ -615,6 +634,9 @@ end
615
634
  @add_barcode.text = prod.barcode
616
635
  @add_stock.text = prod.stock
617
636
  @add_name.text = prod.name
637
+ puts prod.continuous_stock.class
638
+ puts prod.continuous_stock
639
+ @continuous_stock.active = prod.continuous_stock.to_boolean
618
640
  @add_prodcat.active = @categories.index(prod.category)
619
641
  rescue Exception => e
620
642
  @add_notification.text = e.message
@@ -635,11 +657,16 @@ end
635
657
  @purchase_name.text = prod.name
636
658
  @purchase_category.text = prod.category
637
659
  price_amount_changed
638
- toggle_purchase_fields(true)
660
+ if prod.continuous_stock.to_boolean
661
+ toggle_purchase_fields(false)
662
+ @purchase_notification.text = "this product has a continuous stock"
663
+ else
664
+ toggle_purchase_fields(true)
665
+ end
639
666
  Thread.new do
640
667
  ps = $client.product_purchases(barcode)
641
668
  last_purchase = ps.first
642
- date = Time.parse(last_purchase.time).strftime("%d/%m/%y")
669
+ date = last_purchase.time.strftime("%d/%m/%y")
643
670
  @purchase_last.text = date
644
671
  end
645
672
  rescue Exception => e
@@ -811,6 +838,7 @@ end
811
838
  @add_name.text = ""
812
839
  @add_prodcat.active = -1
813
840
  @add_notification.text = "" if all
841
+ @continuous_stock.active = false
814
842
  end
815
843
 
816
844
  def _purchase_clear(all=true)
@@ -9,7 +9,7 @@ module Ig3tool
9
9
  @status = "non member"
10
10
  @target = nil
11
11
 
12
- @statushash = {0 => "non member", 1 => "debugger"}
12
+ @statushash = {0 => "non member", 1 => "debugger", 2 => "member"}
13
13
  @statushashi = @statushash.invert
14
14
 
15
15
  # init items
@@ -115,20 +115,21 @@ module Ig3tool
115
115
  jaar = Time.werkjaar % 100
116
116
  lidkaartx = sprintf("^00%02d%02d", jaar, jaar+1).to_re
117
117
  if value =~ lidkaartx # yay! fascets! (fascisme?)
118
- value = "lidkaart"
118
+ begin
119
+ $client.person_member(value)
120
+ # als deze lidkaart overeenkomt met een member =>
121
+ # zet value op member
122
+ @target = value
123
+ @status = "member"
124
+ @member_id.active = @statushashi[@status]
125
+ puts "member found.."
126
+ rescue Ig3tool::NotAMember => e
127
+ # alst gene member is => verkoop een lidkaart :)
128
+ value = "lidkaart"
129
+ end
119
130
  end
120
131
  end
121
132
 
122
- # is het een member?
123
- begin
124
- memb = $client.person_member(value)
125
-
126
- @target = value
127
- @status = "member"
128
- @member_id.active = @statushashi[@status]
129
- return
130
- rescue Exception => e
131
- end
132
133
 
133
134
  # is het een product?
134
135
  begin
@@ -155,6 +156,7 @@ module Ig3tool
155
156
  end
156
157
 
157
158
  def member_changed
159
+ puts "member_changed"
158
160
  chosen = @member_id.active_text.strip
159
161
  @target = nil
160
162
 
@@ -176,6 +178,7 @@ module Ig3tool
176
178
 
177
179
  @target = chosen
178
180
  @status = "member"
181
+ puts "member found.."
179
182
  rescue NotAMember => e
180
183
  end
181
184
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ig3tool
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.5
4
+ version: 0.4.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kevin Pinte
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2008-04-30 00:00:00 +02:00
12
+ date: 2008-11-25 00:00:00 +01:00
13
13
  default_executable: ig3tool
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -34,22 +34,17 @@ files:
34
34
  - lib/lib
35
35
  - lib/glade
36
36
  - bin/ig3tool
37
- - lib/ui/OLD_internewindow.rb
38
- - lib/ui/OLD_memberswindow.rb
39
37
  - lib/ui/loginwindow.rb
40
38
  - lib/ui/toolwindow.rb
41
39
  - lib/ui/saleswindow.rb
42
40
  - lib/ui/printingwindow.rb
43
- - lib/ui/OLD_productswindow.rb
44
41
  - lib/ui/automaatwindow.rb
45
42
  - lib/ui/peoplewindow.rb
46
43
  - lib/ui/protjes.rb
47
44
  - lib/ui/messagebox.rb
48
45
  - lib/ui/gladehelper.rb
49
46
  - lib/ui/bibliotheekwindow.rb
50
- - lib/ui/OLD_printenwindow.rb
51
47
  - lib/ui/interne.rb
52
- - lib/ui/OLD_bibwindow.rb
53
48
  - lib/lib/errors.rb
54
49
  - lib/lib/util.rb
55
50
  - lib/glade/stock_bookmark_klein.png