小编Sam*_*son的帖子

在python中使用带有SimpleXMLRPCServer的**kwargs

我有一个类,我希望使用pythons SimpleXMLRPCServer作为远程服务公开.服务器启动如下所示:

server = SimpleXMLRPCServer((serverSettings.LISTEN_IP,serverSettings.LISTEN_PORT))

service = Service()

server.register_instance(service)
server.serve_forever()
Run Code Online (Sandbox Code Playgroud)

然后我有一个ServiceRemote类,如下所示:

def __init__(self,ip,port):
    self.rpcClient = xmlrpclib.Server('http://%s:%d' %(ip,port))

def __getattr__(self, name):
    # forward all calls to the rpc client
    return getattr(self.rpcClient, name)
Run Code Online (Sandbox Code Playgroud)

因此,ServiceRemote对象上的所有调用都将转发到xmlrpclib.Server,然后将其转发到远程服务器.问题是服务中采用名为varargs的方法:

@useDb
def select(self, db, fields, **kwargs):
    pass
Run Code Online (Sandbox Code Playgroud)

@useDb装饰器包装函数,在调用之前创建db并打开它,然后在调用完成之后关闭它,然后返回结果.

当我调用这个方法时,我得到错误" call()得到一个意外的关键字参数'name'".那么,是否可以远程调用采用变量命名参数的方法?或者我是否必须为我需要的每个方法变体创建一个覆盖.


谢谢你的回复.我改变了我的代码,所以问题不再是问题.但是现在我知道这个以供将来参考,如果我确实需要实现位置参数并支持远程调用.我认为Thomas和praptaks方法的结合会很好.通过xmlrpclient将kwargs转换为客户端上的位置args,并在方法服务器上使用包装器来解压缩位置参数.

python simplexmlrpcserver xmlrpclib

13
推荐指数
1
解决办法
5471
查看次数

如何使用CodeIgniter处理表单

我是CodeIgniter的新手.我需要处理一个表格.我在视图中有一个form.html页面

<html>
  <head>
    <title>Search</title>
  </head>
  <body>
    <form action="search">
      <input type="text" name="search" value="" size="50" />
      <div>
        <input type="submit" value="Submit" />
      </div>
    </form>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

并形成控制器

class Form extends Controller {

  function Form() {
    parent::Controller();   
  }

  function index() {    
    $this->load->view('form');
  }

}
Run Code Online (Sandbox Code Playgroud)

我有一个视图文件search.php但是当它被处理它显示页面未找到...

php codeigniter

13
推荐指数
2
解决办法
5万
查看次数

类文件的文件名:file.class.php或file.php?

我见过很多程序员选择这个文件名约定:

file.class.php.

这是命名类文件的标准吗?

只是好奇.所以我知道我将来是否应该遵循所有类文件.

谢谢

php oop naming-conventions

13
推荐指数
2
解决办法
1万
查看次数

切换 - 在div外部单击时隐藏项目

我正在使用jquery的slidetoggle,想要学习如何showup在DIV之外的任何地方单击时隐藏类.谢谢!

在线样本:http://jsfiddle.net/evGd6/

<div class="click">click me</div>
<div class="showup">something I want to show</div>?
Run Code Online (Sandbox Code Playgroud)
$(document).ready(function(){
    $('.click').click(function(){
        $(".showup").slideToggle("fast");
    });
});?
Run Code Online (Sandbox Code Playgroud)
.showup {
    width: 100px;
    height: 100px; 
    background: red; 
    display:none;
}
.click {
    cursor: pointer;
}
    ?
Run Code Online (Sandbox Code Playgroud)

javascript jquery

13
推荐指数
1
解决办法
3万
查看次数

在Internet Explorer中下载动态CSV

以下代码适用于FireFox和Chrome,但不适用于IE.基本上,我有一个JSON对象转换为数组,然后转换为csv格式,当我单击FF或Chrome中的按钮时,文件被下载或" 另存为"窗口打开,但在IE中打开一个新选项卡.在一个完美的世界中IE不会存在,但在现实世界中我们必须让它工作,哈哈.

$("#csvbtn").click(function(e){
    e.preventDefault();
    var  json_obj= JSON.parse(result);
    var csv = JSON2CSV(json_obj);
    window.open("data:text/csv;charset=utf-8," + escape(csv));
});
Run Code Online (Sandbox Code Playgroud)

顺便说一句,我在Windows 8中使用IE 11来测试这个,如果这有所不同.

谢谢大家!

javascript jquery internet-explorer

13
推荐指数
2
解决办法
1万
查看次数

PHP:file_get_contents($ loc)失败

我刚刚将一个项目从localhost移到了我的远程服务器上,并注意到我的一些脚本停止了工作.最重要的是依赖于file_get_contents()从另一个脚本获取JSON值的那个.

PHP版本是5.2.4
allow_url_fopen是ON

警告:file_get_contents() [function.file-get-contents]:php_network_getaddresses:getaddrinfo失败:产品名称或服务不知道/var/www/html/2009/functions/functions.products.phpline 5

警告:: file_get_contents(http://data.example.com/new-data.php) [function.file-get-contents]无法打开流:Success in /var/www/html/2009/functions/functions.products.php打开line 5

该脚本正在运行:http://www.example.com
传递给该函数的位置是http://data.example.com/new-data.php

注意:相同的域名,但有两个不同的服务器.

function getData() {
  $location = "http://data.mysite.com/new-data.php";
  $contents = file_get_contents($location);
  $jsonVars = json_decode($contents);
  return $jsonVars
}
Run Code Online (Sandbox Code Playgroud)

php

12
推荐指数
2
解决办法
3万
查看次数

Code Golf:从文本中快速构建关键字列表,包括实例数

我已经用PHP为自己设计了这个解决方案,但我很好奇它是如何以不同的方式完成的 - 甚至更好.我最感兴趣的两种语言是PHP和Javascript,但我很想知道今天用其他主要语言(主要是C#,Java等)可以多快地完成这项工作.

  1. 仅返回出现次数大于X的单词
  2. 仅返回长度大于Y的单词
  3. 忽略像"和,是,等等"这样的常用术语
  4. 在处理之前随意剥去标点符号(即"约翰"成为"约翰")
  5. 返回集合/数组中的结果

额外信用

  1. 将引用的陈述保持在一起,(即"它们'太好了,显然不是真的'")
    实际的陈述是"太好不可能"

额外信用额度

  1. 您的脚本可以根据它们在一起找到的频率来确定应该保存在一起的单词吗?这是在事先不知道单词的情况下完成的.例:
    *"果蝇在医学研究方面是一件好事.过去对果蝇进行了大量的研究,并取得了许多突破.未来,果蝇将继续研究,但是我们的方法可能会改变."*
    显然,这里的词是"果蝇",这对我们来说很容易找到.你的search'n'scrape脚本也可以确定吗?

源文:http://sampsonresume.com/labs/c.txt

答案格式

  1. 除了操作持续多长时间之外,看到代码,输出的结果会很棒.

language-agnostic code-golf text-parsing rosetta-stone

12
推荐指数
2
解决办法
1270
查看次数

需要挂钩到javascript函数调用,任何方式都可以这样做?

我正试图加入一个加载Facebook新闻源的功能:

UIIntentionalStream.instance && UIIntentionalStream.instance.loadOlderPosts();
Run Code Online (Sandbox Code Playgroud)

在Facebook.com上.

有没有办法让我用自己的JavaScript做到这一点?基本上,我需要进行某种回调 - 当调用该函数时,我希望调用自己的函数.

javascript

12
推荐指数
4
解决办法
1万
查看次数

页面在IE7文档模式下打开,而不是IE9

我知道这个问题的许多变化都在这里被问到,但到目前为止还没有我尝试过的解决方案.

我希望我的网络应用程序在IE中以IE9文档模式打开.当我现在打开页面时,它总是在"Internet Explorer7标准"中打开,而"Internet Explorer9标准"被列为页面默认值.我尝试过tagss的几种变体,包括

<meta http-equiv="X-UA-Compatible" value="IE=Edge">
Run Code Online (Sandbox Code Playgroud)

<meta http-equiv="X-UA-Compatible" content="IE=7,IE=9">
Run Code Online (Sandbox Code Playgroud)

(都在头标记之后)

我也尝试过条件语句,例如来自SO的这个例子:

<!--[if IE 7 ]> <body class="ie7> <![endif]-->
<!--[if IE 8 ]> <body class="ie8> <![endif]-->
<!--[if gt IE 8]><!--><body><!--<![endif]-->
Run Code Online (Sandbox Code Playgroud)

目前我正在使用: <!DOCTYPE html>

当然我可以在F12中手动切换模式,但我想在IE9文档模式下直接打开站点(兼容模式始终默认为IE9兼容模式).

目前我正在研究内部网开发服务器; 我读过这可能是一个因素?但我真的更喜欢任何解决方案都是客户端,我可以添加到JS/HTML .....

javascript meta-tags ie-developer-tools ie8-browser-mode internet-explorer-9

12
推荐指数
2
解决办法
4万
查看次数

以编程方式确定单行显示的字体大小

我正在页面上显示文章.文章标题有时会溢出到两行,甚至可能在第二行只有一个单词.这是非常不受欢迎的.使用jQuery/CSS,以编程方式确定标题的新字体大小以保持一行的最佳方法是什么?

css jquery user-interface

11
推荐指数
1
解决办法
2777
查看次数