Код> Добавить | Пролистать [ memori.ru API: добавление закладки]
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# -*- coding: utf-8 -*-
# Реализация API memori.ru
# добавление закладки (букмарк) 
#
# Copyright (c) 2010, WebII Lab (webii.ru)
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
#
#    * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
#    * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
#    * Neither the name of the Webii Lab nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
# IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
# OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
# OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
# EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# 


def memorize(username, password, description, href, extended, tags, point=5, share="yes", show="yes", start="yes"):
    """
    Сохраняет урл в закладках на memori.ru
    параметры: 
    --------
    username - имя пользователя на memori.ru
    password - пароль на memori.ru
    description - описание зауладки
    href - ссылка
    extended - подробное описание закладки
    tags - список тэгов через запятую
    point - оценка (от 1 до 5)
    share - по умолчанию yes - закладка публичная  (no - нет)
    show - по умолчанию yes - видна друзьям (no - нет)
    start - по умолчанию yes - показывать на главной  (no - нет)
    """
    from urllib import urlencode
    import urllib2
    from urllib2 import Request, urlopen, URLError, HTTPError
    ourl = 'http://memori.ru/api-v2/posts/add?'
    params=urlencode({'description':description.encode("utf-8"), 'href':href, 'extended':extended.encode("utf-8"), 'tags':tags.encode("utf-8"),
                      'point':point, 'share':share, 'show':show, 'start':start} )
    theurl = ourl+params
    passman = urllib2.HTTPPasswordMgrWithDefaultRealm()    
    passman.add_password(None, ourl, username, password)   
    authhandler = urllib2.HTTPBasicAuthHandler(passman)   
    opener = urllib2.build_opener(authhandler)
    try:
        urlh = opener.open(theurl)
        data = urlh.read()
    except Exception, e:
        return False
    urlh.close()
    return True