我正在尝试使用Ruby中的Net :: IMAP来搜索我发送的所有邮件,但是我在选择除了INBOX以外的任何东西时遇到了麻烦.
imap.select('INBOX')
Run Code Online (Sandbox Code Playgroud)
工作正常,但是
imap.select('Mail/sent-mail')
Run Code Online (Sandbox Code Playgroud)
如在Net :: IMAP文档中显示给我"未知邮箱".
顺便说一下,这将与gmail一起使用.
我也试过在我的imap.search()中添加"in","anywhere",但是没有解析.
当前代码:
imap.select('INBOX')
now = Time.now.localtime - 1209600 #two weeks
since = now.day.to_s() + "-" + Date::MONTHNAMES[now.month] + "-" + now.year.to_s()
puts "since"
puts since
begin
mail_ids = imap.search(["FROM", "me", "SINCE", since])
mail_ids.each do |id|
text = imap.fetch(id, 'BODY[HEADER.FIELDS (SUBJECT)]').to_s.split("{").second.chop
puts text
end
end
Run Code Online (Sandbox Code Playgroud) 我正在使用一个涉及多个数据库的 django 应用程序 - 即动态添加的多个数据库。每当有新客户注册时,我们都会为他们提供一个新数据库。设置文件可以动态加载这些(例如,我在服务器上运行一个 shell 脚本,并在不更改任何代码的情况下更新数据库定义 - 如果你真的很好奇如何,给我发消息),但由于 uwsgi/django 缓存设置,我必须撞 uwsgi 才能让新数据库得到认可。
关于强制 django 重新加载设置或使其设置缓存无效的任何建议?它可以来自命令行等。目前我正在使用
import settings
而不是来自,django.conf import settings因为过去它已经半工作,但我可以轻松切换回来。
谢谢!
ps - 如果答案是“你这个笨蛋,不要使用动态多个数据库”,那也没关系;)
更新如下
有没有人为Magento SOAP v1 API提供适当的XML示例,以便按照以下方式执行某些操作?
client.call(session_token,'sales_order.list', {'filters':{'order_id':{'eq':12}}})
Run Code Online (Sandbox Code Playgroud)
这是一个不适合我的python suds调用的例子.实际上,任何过滤sales_order.list,catalog_product.list或customer.list的示例XML都可以.我已经为XMLRPC版本工作,但是使用python的SUDS和SOAP v1 API,无论过滤器是什么,我都会将整个列表作为响应进行过滤.这是XML目前的样子:
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:ns3="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns2="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns4="urn:Magento" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<SOAP-ENV:Header/>
<ns1:Body>
<ns4:call>
<sessionId xsi:type="ns2:string">6634e1bd1004557677222fd81e809884</sessionId>
<resourcePath xsi:type="ns2:string">sales_order.list</resourcePath>
<args xsi:type="ns0:args">
<filters xsi:type="ns2:filters">
<order_id xsi:type="ns2:order_id">
<eq xsi:type="ns2:string">7</eq>
</order_id>
</filters>
</args>
</ns4:call>
</ns1:Body>
Run Code Online (Sandbox Code Playgroud)
当然,我已经在上面尝试了一百万个其他变种.我只是想知道我的电话是否正确,我的架构是坏的,或者肥皂服务器是不是很糟糕,或者是什么.因此,如果任何人都有一些经过验证的正确XML来尝试模拟,那么它会有很多帮助.
谢谢!
更新:
根据我到目前为止收到的第一个答案,我实际上已经尝试过滤镜的格式了.正如我们所知,Magento API的文档是多种多样的,冲突的和不完整的.这是XML:
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:ns3="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns2="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns4="urn:Magento" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<SOAP-ENV:Header/>
<ns1:Body>
<ns4:call>
<sessionId xsi:type="ns2:string">93c7aaab38adaab5db732b211e5b</sessionId>
<resourcePath xsi:type="ns2:string">sales_order.list</resourcePath>
<args xsi:type="ns0:args">
<filter xsi:type="ns2:filter">
<value xsi:type="ns2:string">123</value>
<key xsi:type="ns2:string">order_id</key>
</filter>
</args>
</ns4:call>
</ns1:Body>
</SOAP-ENV:Envelope> …Run Code Online (Sandbox Code Playgroud)