From 186673587e1bc64bfeee7e44580402e81a954880 Mon Sep 17 00:00:00 2001 From: Qingping Hou Date: Sun, 26 Apr 2015 20:49:27 -0400 Subject: [PATCH] chore: fix some of the luacheck errors --- frontend/apps/filemanager/filemanager.lua | 1 - .../filemanager/filemanagerfilesearcher.lua | 9 ++- .../apps/filemanager/filemanagerhistory.lua | 1 - frontend/apps/filemanager/filemanagermenu.lua | 3 +- .../apps/filemanager/filemanagersearch.lua | 2 +- .../apps/reader/modules/readerbookmark.lua | 8 +-- .../apps/reader/modules/readerdictionary.lua | 1 - frontend/apps/reader/modules/readerfont.lua | 1 - .../apps/reader/modules/readerfrontlight.lua | 1 - frontend/apps/reader/modules/readermenu.lua | 5 +- frontend/document/credocument.lua | 4 +- frontend/document/djvudocument.lua | 2 +- frontend/ui/language.lua | 2 +- frontend/ui/message/streammessagequeue.lua | 5 +- frontend/ui/opdsparser.lua | 2 +- frontend/ui/rendertext.lua | 1 - frontend/ui/screensaver.lua | 1 - frontend/ui/widget/bboxwidget.lua | 6 -- frontend/ui/widget/buttondialog.lua | 1 - frontend/ui/widget/closebutton.lua | 5 +- frontend/ui/widget/virtualkeyboard.lua | 3 +- spec/unit/readerbookmark_spec.lua | 67 ++++++++++++++++++- 22 files changed, 84 insertions(+), 47 deletions(-) diff --git a/frontend/apps/filemanager/filemanager.lua b/frontend/apps/filemanager/filemanager.lua index c943f0b00..295d8b817 100644 --- a/frontend/apps/filemanager/filemanager.lua +++ b/frontend/apps/filemanager/filemanager.lua @@ -109,7 +109,6 @@ function FileManager:init() { text = _("Delete"), callback = function() - local path = util.realpath(file) local ConfirmBox = require("ui/widget/confirmbox") UIManager:close(self.file_dialog) UIManager:show(ConfirmBox:new{ diff --git a/frontend/apps/filemanager/filemanagerfilesearcher.lua b/frontend/apps/filemanager/filemanagerfilesearcher.lua index ba0c2b964..f9f480b3b 100644 --- a/frontend/apps/filemanager/filemanagerfilesearcher.lua +++ b/frontend/apps/filemanager/filemanagerfilesearcher.lua @@ -14,7 +14,7 @@ local _ = require("gettext") local FileSearcher = InputContainer:new{ search_dialog = nil, - + --filesearcher -- state buffer dirs = {}, @@ -22,7 +22,7 @@ local FileSearcher = InputContainer:new{ results = {}, items = 0, commands = nil, - + --filemanagersearch use_previous_search_results = false, lastsearch = nil, @@ -33,7 +33,7 @@ function FileSearcher:readDir() DEBUG("self.path", self.path) self.files = {} while #self.dirs ~= 0 do - new_dirs = {} + local new_dirs = {} -- handle each dir for __, d in pairs(self.dirs) do -- handle files in d @@ -104,7 +104,7 @@ end function FileSearcher:showSearch() local dummy = self.search_value self.search_dialog = InputDialog:new{ - title = _("Search for books by filename"), + title = _("Search for books by filename"), input = self.search_value, buttons = { { @@ -139,7 +139,6 @@ function FileSearcher:showSearch() end function FileSearcher:showSearchResults() - local ReaderUI = require("apps/reader/readerui") local menu_container = CenterContainer:new{ dimen = Screen:getSize(), } diff --git a/frontend/apps/filemanager/filemanagerhistory.lua b/frontend/apps/filemanager/filemanagerhistory.lua index 8a1cf0a6e..22e77505d 100644 --- a/frontend/apps/filemanager/filemanagerhistory.lua +++ b/frontend/apps/filemanager/filemanagerhistory.lua @@ -6,7 +6,6 @@ local UIManager = require("ui/uimanager") local DocSettings = require("docsettings") local Menu = require("ui/widget/menu") local Screen = require("device").screen -local DEBUG = require("dbg") local _ = require("gettext") local history_dir = "./history/" diff --git a/frontend/apps/filemanager/filemanagermenu.lua b/frontend/apps/filemanager/filemanagermenu.lua index 5603e6e49..fb48be2f2 100644 --- a/frontend/apps/filemanager/filemanagermenu.lua +++ b/frontend/apps/filemanager/filemanagermenu.lua @@ -18,7 +18,6 @@ local FileManagerMenu = InputContainer:extend{ } function FileManagerMenu:init() - local filemanager = self.ui self.tab_item_table = { setting = { icon = "resources/icons/appbar.settings.png", @@ -171,7 +170,7 @@ function FileManagerMenu:onShowMenu() dimen = Screen:getSize(), } - local main_menu = nil + local main_menu if Device:isTouchDevice() then local TouchMenu = require("ui/widget/touchmenu") main_menu = TouchMenu:new{ diff --git a/frontend/apps/filemanager/filemanagersearch.lua b/frontend/apps/filemanager/filemanagersearch.lua index 6c631ad54..2d93250b0 100644 --- a/frontend/apps/filemanager/filemanagersearch.lua +++ b/frontend/apps/filemanager/filemanagersearch.lua @@ -302,7 +302,7 @@ function Search:find(option) self.data[i] = {"-","-","-","-","-","-","-","-","-"} if self.use_own_metadata_file then - g = io.open(koreaderfile,"r") + local g = io.open(koreaderfile, "r") line = g:read() if line ~= "#metadata.Koreader Version 1.1" then self.use_own_metadata_file = false diff --git a/frontend/apps/reader/modules/readerbookmark.lua b/frontend/apps/reader/modules/readerbookmark.lua index 6ef0b3de8..c02f04cc5 100644 --- a/frontend/apps/reader/modules/readerbookmark.lua +++ b/frontend/apps/reader/modules/readerbookmark.lua @@ -263,11 +263,8 @@ function ReaderBookmark:getDogearBookmarkIndex(pn_or_xp) end function ReaderBookmark:isBookmarkSame(item1, item2) - if item1.notes ~= item2.notes then return end + if item1.notes ~= item2.notes then return false end if self.ui.document.info.has_pages then - if not item2.pos0 or not item2.pos1 then return end - local zoom1 = item1.pos0.zoom - local zoom1 = item2.pos0.zoom return item2.pos0 and item2.pos1 and item1.pos0.page == item2.pos0.page and item1.pos0.x == item2.pos0.x and item1.pos0.y == item2.pos0.y and item1.pos1.x == item2.pos1.x and item1.pos1.y == item2.pos1.y @@ -281,7 +278,6 @@ end function ReaderBookmark:addBookmark(item) local _start, _middle, _end, direction = 1, 1, #self.bookmarks, 0 while _start <= _end do - local v = self.bookmarks[_middle] _middle = math.floor((_start + _end)/2) -- won't add duplicated bookmarks if self:isBookmarkSame(item, self.bookmarks[_middle]) then @@ -301,7 +297,6 @@ end function ReaderBookmark:isBookmarkAdded(item) local _start, _middle, _end, direction = 1, 1, #self.bookmarks, 0 while _start <= _end do - local v = self.bookmarks[_middle] _middle = math.floor((_start + _end)/2) if self:isBookmarkSame(item, self.bookmarks[_middle]) then return true @@ -312,6 +307,7 @@ function ReaderBookmark:isBookmarkAdded(item) _start, direction = _middle + 1, 1 end end + return false end -- binary search to remove bookmark diff --git a/frontend/apps/reader/modules/readerdictionary.lua b/frontend/apps/reader/modules/readerdictionary.lua index 823cd6789..7bc05b87f 100644 --- a/frontend/apps/reader/modules/readerdictionary.lua +++ b/frontend/apps/reader/modules/readerdictionary.lua @@ -2,7 +2,6 @@ local InputContainer = require("ui/widget/container/inputcontainer") local DictQuickLookup = require("ui/widget/dictquicklookup") local InfoMessage = require("ui/widget/infomessage") local UIManager = require("ui/uimanager") -local Geom = require("ui/geometry") local Screen = require("device").screen local Device = require("device") local JSON = require("json") diff --git a/frontend/apps/reader/modules/readerfont.lua b/frontend/apps/reader/modules/readerfont.lua index ef8cfc362..25793e5d7 100644 --- a/frontend/apps/reader/modules/readerfont.lua +++ b/frontend/apps/reader/modules/readerfont.lua @@ -8,7 +8,6 @@ local Screen = require("device").screen local Input = require("device").input local Event = require("ui/event") local UIManager = require("ui/uimanager") -local Screen = require("device").screen local DEBUG = require("dbg") local T = require("ffi/util").template local _ = require("gettext") diff --git a/frontend/apps/reader/modules/readerfrontlight.lua b/frontend/apps/reader/modules/readerfrontlight.lua index 84f455fd7..558493563 100644 --- a/frontend/apps/reader/modules/readerfrontlight.lua +++ b/frontend/apps/reader/modules/readerfrontlight.lua @@ -3,7 +3,6 @@ local InputDialog = require("ui/widget/inputdialog") local Notification = require("ui/widget/notification") local GestureRange = require("ui/gesturerange") local UIManager = require("ui/uimanager") -local Geom = require("ui/geometry") local Screen = require("device").screen local Device = require("device") local DEBUG = require("dbg") diff --git a/frontend/apps/reader/modules/readermenu.lua b/frontend/apps/reader/modules/readermenu.lua index dc5d64370..19f2bd58a 100644 --- a/frontend/apps/reader/modules/readermenu.lua +++ b/frontend/apps/reader/modules/readermenu.lua @@ -1,8 +1,5 @@ local InputContainer = require("ui/widget/container/inputcontainer") local CenterContainer = require("ui/widget/container/centercontainer") -local InfoMessage = require("ui/widget/infomessage") -local InputDialog = require("ui/widget/inputdialog") -local ConfirmBox = require("ui/widget/confirmbox") local GestureRange = require("ui/gesturerange") local UIManager = require("ui/uimanager") local Device = require("device") @@ -158,7 +155,7 @@ function ReaderMenu:onShowReaderMenu() dimen = Screen:getSize(), } - local main_menu = nil + local main_menu if Device:isTouchDevice() then local TouchMenu = require("ui/widget/touchmenu") main_menu = TouchMenu:new{ diff --git a/frontend/document/credocument.lua b/frontend/document/credocument.lua index 0b5467ba2..fd8e9d4d7 100644 --- a/frontend/document/credocument.lua +++ b/frontend/document/credocument.lua @@ -48,7 +48,7 @@ function CreDocument:cacheInit() end function CreDocument:engineInit() - if not engine_initilized then + if not self.engine_initilized then -- initialize cache self:cacheInit() @@ -66,7 +66,7 @@ function CreDocument:engineInit() end end - engine_initilized = true + self.engine_initilized = true end end diff --git a/frontend/document/djvudocument.lua b/frontend/document/djvudocument.lua index 3c83aa368..50581ec67 100644 --- a/frontend/document/djvudocument.lua +++ b/frontend/document/djvudocument.lua @@ -18,7 +18,7 @@ local DjvuDocument = Document:new{ -- check DjVu magic string to validate local function validDjvuFile(filename) - f = io.open(filename, "r") + local f = io.open(filename, "r") if not f then return false end local magic = f:read(8) f:close() diff --git a/frontend/ui/language.lua b/frontend/ui/language.lua index 982116f45..30488dfa7 100644 --- a/frontend/ui/language.lua +++ b/frontend/ui/language.lua @@ -4,7 +4,7 @@ local UIManager = require("ui/uimanager") local InfoMessage = require("ui/widget/infomessage") local _ = require("gettext") -Language = {} +local Language = {} function Language:changeLanguage(lang_locale) _.changeLang(lang_locale) diff --git a/frontend/ui/message/streammessagequeue.lua b/frontend/ui/message/streammessagequeue.lua index 58ed30931..f6c0dad09 100644 --- a/frontend/ui/message/streammessagequeue.lua +++ b/frontend/ui/message/streammessagequeue.lua @@ -1,10 +1,9 @@ local ffi = require("ffi") local DEBUG = require("dbg") -local util = require("ffi/util") local Event = require("ui/event") local MessageQueue = require("ui/message/messagequeue") -local dummy = require("ffi/zeromq_h") +local _ = require("ffi/zeromq_h") local zmq = ffi.load("libs/libzmq.so.4") local czmq = ffi.load("libs/libczmq.so.1") @@ -25,7 +24,7 @@ function StreamMessageQueue:start() end local id_size = ffi.new("size_t[1]", 256) local buffer = ffi.new("uint8_t[?]", id_size[0]) - local rc = zmq.zmq_getsockopt(self.socket, ffi.C.ZMQ_IDENTITY, buffer, id_size) + rc = zmq.zmq_getsockopt(self.socket, ffi.C.ZMQ_IDENTITY, buffer, id_size) self.id = ffi.string(buffer, id_size[0]) DEBUG("id", #self.id, self.id) end diff --git a/frontend/ui/opdsparser.lua b/frontend/ui/opdsparser.lua index 139d11638..0c7854109 100644 --- a/frontend/ui/opdsparser.lua +++ b/frontend/ui/opdsparser.lua @@ -32,7 +32,7 @@ function OPDSParser:createFlatXTable(xlex, currentelement) local attribute_count = 0; -- start reading the thing - local txt = nil; + local txt for event, offset, size in xlex:Lexemes() do txt = ffi.string(xlex.buf + offset, size) diff --git a/frontend/ui/rendertext.lua b/frontend/ui/rendertext.lua index 140e3dfed..53f01ed6f 100644 --- a/frontend/ui/rendertext.lua +++ b/frontend/ui/rendertext.lua @@ -1,5 +1,4 @@ local Font = require("ui/font") -local Screen = require("device").screen local Cache = require("cache") local CacheItem = require("cacheitem") local BlitBuffer = require("ffi/blitbuffer") diff --git a/frontend/ui/screensaver.lua b/frontend/ui/screensaver.lua index b8adc2b62..b219eafa6 100644 --- a/frontend/ui/screensaver.lua +++ b/frontend/ui/screensaver.lua @@ -29,7 +29,6 @@ function Screensaver:getCoverImage(file) image_height = image:getHeight() image_width = image:getWidth() local image_ratio = image_width / image_height - local screen_ratio = screen_width / screen_height if image_ratio < 1 then image_height = screen_height image_width = image_height * image_ratio diff --git a/frontend/ui/widget/bboxwidget.lua b/frontend/ui/widget/bboxwidget.lua index 4046613f0..dd906e752 100644 --- a/frontend/ui/widget/bboxwidget.lua +++ b/frontend/ui/widget/bboxwidget.lua @@ -5,7 +5,6 @@ local UIManager = require("ui/uimanager") local Device = require("device") local GestureRange = require("ui/gesturerange") local Math = require("optmath") -local DEBUG = require("dbg") --[[ BBoxWidget shows a bbox for page cropping @@ -20,7 +19,6 @@ local BBoxWidget = InputContainer:new{ function BBoxWidget:init() self.page_bbox = self.document:getPageBBox(self.view.state.page) - --DEBUG("used page bbox on page", self.view.state.page, self.page_bbox) if Device:isTouchDevice() then self.ges_events = { TapAdjust = { @@ -77,7 +75,6 @@ function BBoxWidget:getScreenBBox(page_bbox) local bbox = {} local scale = self.view.state.zoom local screen_offset = self.view.state.offset - --DEBUG("screen offset in page_to_screen", screen_offset) bbox.x0 = Math.round(page_bbox.x0 * scale + screen_offset.x) bbox.y0 = Math.round(page_bbox.y0 * scale + screen_offset.y) bbox.x1 = Math.round(page_bbox.x1 * scale + screen_offset.x) @@ -90,7 +87,6 @@ function BBoxWidget:getPageBBox(screen_bbox) local bbox = {} local scale = self.view.state.zoom local screen_offset = self.view.state.offset - --DEBUG("screen offset in screen_to_page", screen_offset) bbox.x0 = Math.round((screen_bbox.x0 - screen_offset.x) / scale) bbox.y0 = Math.round((screen_bbox.y0 - screen_offset.y) / scale) bbox.x1 = Math.round((screen_bbox.x1 - screen_offset.x) / scale) @@ -106,7 +102,6 @@ function BBoxWidget:inPageArea(ges) end function BBoxWidget:adjustScreenBBox(ges, relative) - --DEBUG("adjusting crop bbox with pos", ges.pos) if not self:inPageArea(ges) then return end local bbox = self.screen_bbox local upper_left = Geom:new{ x = bbox.x0, y = bbox.y0} @@ -125,7 +120,6 @@ function BBoxWidget:adjustScreenBBox(ges, relative) local _, nearest = Math.tmin(anchors, function(a,b) return a:distance(ges.pos) > b:distance(ges.pos) end) - --DEBUG("nearest anchor", nearest) if nearest == upper_left then upper_left.x = ges.pos.x upper_left.y = ges.pos.y diff --git a/frontend/ui/widget/buttondialog.lua b/frontend/ui/widget/buttondialog.lua index 0b08f8349..0118c3223 100644 --- a/frontend/ui/widget/buttondialog.lua +++ b/frontend/ui/widget/buttondialog.lua @@ -5,7 +5,6 @@ local CenterContainer = require("ui/widget/container/centercontainer") local Device = require("device") local GestureRange = require("ui/gesturerange") local Geom = require("ui/geometry") -local Input = require("device").input local Screen = require("device").screen local UIManager = require("ui/uimanager") local _ = require("gettext") diff --git a/frontend/ui/widget/closebutton.lua b/frontend/ui/widget/closebutton.lua index a7e247b64..f51a8e724 100644 --- a/frontend/ui/widget/closebutton.lua +++ b/frontend/ui/widget/closebutton.lua @@ -1,10 +1,7 @@ local InputContainer = require("ui/widget/container/inputcontainer") local FrameContainer = require("ui/widget/container/framecontainer") -local CenterContainer = require("ui/widget/container/centercontainer") local TextWidget = require("ui/widget/textwidget") local GestureRange = require("ui/gesturerange") -local UIManager = require("ui/uimanager") -local Geom = require("ui/geometry") local Font = require("ui/font") --[[ @@ -25,7 +22,7 @@ function CloseButton:init() padding = 0, text_widget } - + self.dimen = text_widget:getSize():copy() self.ges_events.Close = { diff --git a/frontend/ui/widget/virtualkeyboard.lua b/frontend/ui/widget/virtualkeyboard.lua index 1384e07db..ca08c3397 100644 --- a/frontend/ui/widget/virtualkeyboard.lua +++ b/frontend/ui/widget/virtualkeyboard.lua @@ -47,7 +47,7 @@ function VirtualKey:init() self.callback = function () self.keyboard:addChar(self.key) end end - local label_widget = nil + local label_widget if self.icon then label_widget = ImageWidget:new{ file = self.icon, @@ -289,7 +289,6 @@ function VirtualKeyboard:addKeys() end end - local size = vertical_group:getSize() local keyboard_frame = FrameContainer:new{ margin = 0, bordersize = self.bordersize, diff --git a/spec/unit/readerbookmark_spec.lua b/spec/unit/readerbookmark_spec.lua index 10764fac7..b5987270e 100644 --- a/spec/unit/readerbookmark_spec.lua +++ b/spec/unit/readerbookmark_spec.lua @@ -9,7 +9,7 @@ local DEBUG = require("dbg") local sample_epub = "spec/front/unit/data/juliet.epub" local sample_pdf = "spec/front/unit/data/sample.pdf" -describe("Readerbookmark module", function() +describe("ReaderBookmark module", function() local function highlight_text(readerui, pos0, pos1) readerui.highlight:onHold(nil, { pos = pos0 }) readerui.highlight:onHoldPan(nil, { pos = pos1 }) @@ -36,6 +36,7 @@ describe("Readerbookmark module", function() end) UIManager:run() end + describe("bookmark for EPUB document", function() local page = 10 local readerui @@ -49,6 +50,17 @@ describe("Readerbookmark module", function() UIManager:show(readerui) readerui.rolling:gotoPage(10) end) + it("should does bookmark comparison properly", function() + assert.truthy(readerui.bookmark:isBookmarkSame( + { notes = 'foo', page = 1, pos0 = 0, pos1 = 2, }, + { notes = 'foo', page = 1, pos0 = 0, pos1 = 2, })) + assert.falsy(readerui.bookmark:isBookmarkSame( + { notes = 'foo', page = 1, pos0 = 0, pos1 = 2, }, + { notes = 'bar', page = 1, pos0 = 0, pos1 = 2, })) + assert.falsy(readerui.bookmark:isBookmarkSame( + { notes = 'foo0', page = 1, pos0 = 0, pos1 = 0, }, + { notes = 'foo', page = 1, pos0 = 0, pos1 = 2, })) + end) it("should show dogear after togglering non-bookmarked page", function() toggler_dogear(readerui) Screen:shot("screenshots/reader_bookmark_dogear_epub.png") @@ -111,6 +123,34 @@ describe("Readerbookmark module", function() UIManager:show(readerui) readerui.paging:gotoPage(10) end) + it("should does bookmark comparison properly", function() + assert.truthy(readerui.bookmark:isBookmarkSame( + { notes = 'foo', pos0 = { page = 1 , x = 2, y = 3}, + pos1 = { page = 1, x = 20, y = 3 }, }, + { notes = 'foo', pos0 = { page = 1 , x = 2, y = 3}, + pos1 = { page = 1, x = 20, y = 3 }, })) + assert.falsy(readerui.bookmark:isBookmarkSame( + { notes = 'foo', page = 1, pos0 = 0, pos1 = 2, }, + { notes = 'foo', page = 1, pos1 = 2, })) + assert.falsy(readerui.bookmark:isBookmarkSame( + { notes = 'foo', page = 1, pos0 = 0, pos1 = 2, }, + { notes = 'foo', page = 1, pos0 = 2, })) + assert.falsy(readerui.bookmark:isBookmarkSame( + { notes = 'foo', pos0 = { page = 1 , x = 2, y = 3}, + pos1 = { page = 1, x = 20, y = 3 }, }, + { notes = 'foo', pos0 = { page = 2 , x = 2, y = 3}, + pos1 = { page = 1, x = 20, y = 3 }, })) + assert.falsy(readerui.bookmark:isBookmarkSame( + { notes = 'foo', pos0 = { page = 1 , x = 1, y = 3}, + pos1 = { page = 1, x = 20, y = 3 }, }, + { notes = 'foo', pos0 = { page = 1 , x = 2, y = 3}, + pos1 = { page = 1, x = 20, y = 3 }, })) + assert.falsy(readerui.bookmark:isBookmarkSame( + { notes = 'foo', pos0 = { page = 1 , x = 1, y = 3}, + pos1 = { page = 1, x = 20, y = 3 }, }, + { notes = 'foo', pos0 = { page = 1 , x = 1, y = 3}, + pos1 = { page = 1, x = 20, y = 2 }, })) + end) it("should show dogear after togglering non-bookmarked page", function() toggler_dogear(readerui) Screen:shot("screenshots/reader_bookmark_dogear_pdf.png") @@ -156,5 +196,30 @@ describe("Readerbookmark module", function() it("should get next bookmark for certain page", function() assert.are.same(15, readerui.bookmark:getNextBookmarkedPage(10)) end) + it("should search/add bookmarks properly #now", function() + DEBUG:turnOn() + local p1 = { x = 0, y = 0, page = 100 } + local bm1 = { notes = 'foo', page = 10, + pos0 = { x = 0, y = 0, page = 100 }, pos1 = p1, } + assert.falsy(readerui.bookmark:isBookmarkAdded(bm1)) + readerui.bookmark:addBookmark(bm1) + assert.are.same(readerui.bookmark.bookmarks, {bm1}) + + local bm2 = { notes = 'foo', page = 1, + pos0 = { x = 0, y = 0, page = 1 }, pos1 = p1, } + assert.falsy(readerui.bookmark:isBookmarkAdded(bm2)) + readerui.bookmark:addBookmark(bm2) + assert.are.same({bm1, bm2}, readerui.bookmark.bookmarks) + + local bm3 = { notes = 'foo', page = 5, + pos0 = { x = 0, y = 0, page = 5 }, pos1 = p1, } + assert.falsy(readerui.bookmark:isBookmarkAdded(bm3)) + readerui.bookmark:addBookmark(bm3) + assert.are.same({bm1, bm3, bm2}, readerui.bookmark.bookmarks) + + assert.truthy(readerui.bookmark:isBookmarkAdded(bm1)) + assert.truthy(readerui.bookmark:isBookmarkAdded(bm2)) + assert.truthy(readerui.bookmark:isBookmarkAdded(bm3)) + end) end) end)