小编Mih*_*ssu的帖子

发布Outlook日历.同步频率的服务器端设置是什么?

我正在开发一个服务器的自定义实现(非常基本的WebDAV),它接受Outlook发布的日历.

Outlook似乎有一个设置(参见下面的屏幕截图),它接受服务器的参数,告诉它重新发布日历的频率,这是我想要弄清楚的参数.

Outlook的选项允许服务器指定建议的频率

如果设置未指定的Outlook默认到60分钟,这不为我工作,但我找不到什么参数可以是任何信息(我知道,Outlook的设置可以在UI内进行调整,但我需要它通过自动完成来自服务器的响应).使用Wireshark时,我发现当第一次发布日历时,Outlook会向PROPFIND服务器的URL 发送一个方法:

PROPFIND /path/to/url HTTP/1.1
X-Office-Version: 15.0.4771
Depth: 1
Content-Type: text/xml
User-Agent: Microsoft Office/15.0 (Windows NT 6.3; Microsoft Outlook 15.0.4771; Pro)
Host: example.com
Content-Length: 114
Connection: Keep-Alive
Cache-Control: no-cache

<?xml version="1.0" encoding="utf-8" ?> <D:propfind xmlns:D="DAV:"><D:prop><D:resourcetype/></D:prop></D:propfind>
Run Code Online (Sandbox Code Playgroud)

然后用XML响应(我假设这是设置的位置,但无法找到任何信息):

<?xml version="1.0"?><a:multistatus xmlns:a="DAV:"/>
Run Code Online (Sandbox Code Playgroud)

我在这一点上丢失,不知道还有什么地方寻找大量的谷歌搜索和流量嗅探后(展望< - >我发现交流沟通,但没有人可以使用非默认PARAM).任何建议在哪里寻找这样的东西都是个好主意?

outlook exchange-server calendar webdav caldav

60
推荐指数
1
解决办法
1462
查看次数

如何组织GAE模块的应用程序结构和代码?

我有一些GAE应用程序,我正在考虑分成三个模块:default(www), mobileapi但我有理解模块以及如何组织代码中的一些困难.

根据这里找到的图像,这是一个应用程序应该是什么样子. 谷歌推荐的GAE App结构

这是我到目前为止提出的简化结构:

gae-app/
??? modules
?   ??? api
?   ?   ??? app.yaml
?   ?   ??? src
?   ?       ??? main.py
?   ??? mobile
?   ?   ??? app.yaml
?   ?   ??? src
?   ?       ??? index.html
?   ??? www
?       ??? app.yaml
?       ??? src
?           ??? main.py
?           ??? templates
??? cron.yaml
??? index.yaml
??? queue.yaml
Run Code Online (Sandbox Code Playgroud)


  • api模块提供了大量的API函数,并且可以自行运行.

  • mobile模块只是一堆html + js,api通过ajax 与模块配合得很好. …

python git google-app-engine module google-cloud-datastore

7
推荐指数
1
解决办法
568
查看次数

在python中实现观察者模式的替代方法

我正想通过后有关如何观察者模式可以在Python中实现.在同一篇文章中有这些评论.

1)在python中你也可以只使用普通函数,"观察者"类并不是真正需要的.

2)这是Java程序员在切换到Python后尝试做的很好的例子 - 他们觉得Python缺少所有垃圾并尝试"移植"它.

这些注释暗示观察者模式在python中并不真正有用,并且存在其他方法来实现相同的效果.这是真的,如果能做到这一点?

这是观察者模式的代码:

class Observable(object):

    def __init__(self):
        self.observers = []

    def register(self, observer):
        if not observer in self.observers:
            self.observers.append(observer)

    def unregister(self, observer):
        if observer in self.observers:
            self.observers.remove(observer)

    def unregister_all(self):
        if self.observers:
            del self.observers[:]

    def update_observers(self, *args, **kwargs):
        for observer in self.observers:
            observer.update(*args, **kwargs)

from abc import ABCMeta, abstractmethod

class Observer(object):
    __metaclass__ = ABCMeta

    @abstractmethod
    def update(self, *args, **kwargs):
        pass

class AmericanStockMarket(Observer):
    def update(self, *args, **kwargs):
        print("American stock market received: {0}\n{1}".format(args, kwargs))

class EuropeanStockMarket(Observer):
    def …
Run Code Online (Sandbox Code Playgroud)

python first-class-functions observer-pattern

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