【发布时间】:2018-05-15 23:50:57
【问题描述】:
我正在尝试从github 获取以下代码的示例,这对于我的 Linux/Ubuntu 安装来说似乎是一个死话题。我一直在尝试使用“机械化”从公司内部网中抓取数据,请参阅stack question for details。由于我不够聪明,无法解决我的登录问题,我想我会尝试从 Excel 表中提供数据作为一种解决方法,直到我能弄清楚机械化路线。我又一次不够聪明,无法让提供的代码在 Linux 上运行,因为我收到以下错误:
`kqueue=':此平台不支持 kqueue (EventMachine::Unsupported)
如果我从原始来源中提供的信息中理解正确,那么问题是 Linux 不支持 kqueue。 OP 声明 inotify 是一个替代方案,但我没有找到一个类似的例子,用它在小部件中显示 Excel。
这是 GitHub 上显示的代码,希望帮助将其转换为在 Linux 上工作:
require 'roo'
EM.kqueue = EM.kqueue?
file_path = "#{Dir.pwd}/spreadsheet.xls"
def fetch_spreadsheet_data(path)
s = Roo::Excel.new(path)
send_event('valuation', { current: s.cell(1, 2) })
end
module Handler
def file_modified
fetch_spreadsheet_data(path)
end
end
fetch_spreadsheet_data(file_path)
EM.next_tick do
EM.watch_file(file_path, Handler)
end
【问题讨论】:
标签: ruby linux excel dashing roo-gem