Где находится черепаховая-настройка-network-enableProxyServer? [Дубликат]

Функция property() возвращает специальный объект дескриптора :

>>> property()

Этот метод имеет дополнительные методы:

]

>>> property().getter

>>> property().setter

>>> property().deleter

Они также действуют как декораторы . Они возвращают новый объект свойства:

>>> property().getter(None)

, который является копией старого объекта, но с одной из замененных функций.

Помните, что синтаксис @decorator просто синтаксический сахар; синтаксис:

@property
def foo(self): return self._foo

действительно означает то же, что и

def foo(self): return self._foo
foo = property(foo)

, поэтому foo функция заменяется на property(foo), что мы видели выше, это специальный объект , Затем, когда вы используете @foo.setter(), то, что вы делаете, вызывает метод property().setter, который я показал вам выше, который возвращает новую копию свойства, но на этот раз с заменой функции setter на декорированный метод.

Следующая последовательность также создает свойство full-on, используя эти методы декоратора.

Сначала мы создаем некоторые функции и объект property только с помощью getter:

>>> def getter(self): print 'Get!'
... 
>>> def setter(self, value): print 'Set to {!r}!'.format(value)
... 
>>> def deleter(self): print 'Delete!'
... 
>>> prop = property(getter)
>>> prop.fget is getter
True
>>> prop.fset is None
True
>>> prop.fdel is None
True

Далее мы используем метод .setter() для добавления сеттера:

>>> prop = prop.setter(setter)
>>> prop.fget is getter
True
>>> prop.fset is setter
True
>>> prop.fdel is None
True

В последний раз мы добавили дебетер с методом .deleter():

>>> prop = prop.deleter(deleter)
>>> prop.fget is getter
True
>>> prop.fset is setter
True
>>> prop.fdel is deleter
True

Последнее, но не более того, объект property действует как объект дескриптора , поэтому он имеет .__get__() , .__set__() и .__delete__() , чтобы подключиться к атрибуту получения, установки и удаления атрибута экземпляра:

>>> class Foo(object): pass
... 
>>> prop.__get__(Foo(), Foo)
Get!
>>> prop.__set__(Foo(), 'bar')
Set to 'bar'!
>>> prop.__delete__(Foo())
Delete!

В дескрипторе Howto реализована реализация образца чистого python образца типа property() :

class Property(object):
    "Emulate PyProperty_Type() in Objects/descrobject.c"

    def __init__(self, fget=None, fset=None, fdel=None, doc=None):
        self.fget = fget
        self.fset = fset
        self.fdel = fdel
        if doc is None and fget is not None:
            doc = fget.__doc__
        self.__doc__ = doc

    def __get__(self, obj, objtype=None):
        if obj is None:
            return self
        if self.fget is None:
            raise AttributeError("unreadable attribute")
        return self.fget(obj)

    def __set__(self, obj, value):
        if self.fset is None:
            raise AttributeError("can't set attribute")
        self.fset(obj, value)

    def __delete__(self, obj):
        if self.fdel is None:
            raise AttributeError("can't delete attribute")
        self.fdel(obj)

    def getter(self, fget):
        return type(self)(fget, self.fset, self.fdel, self.__doc__)

    def setter(self, fset):
        return type(self)(self.fget, fset, self.fdel, self.__doc__)

    def deleter(self, fdel):
        return type(self)(self.fget, self.fset, fdel, self.__doc__)

86
задан Beryllium 23 May 2014 в 12:34
поделиться

6 ответов

Вы видели запись в FAQ Что делать, если я за прокси? ?

... отредактируйте файл конфигурации «серверы», чтобы указать, какой прокси-сервер использовать. Местоположение файлов зависит от вашей операционной системы. В Linux или Unix он находится в каталоге «~ / .subversion». В Windows это «% APPDATA% \ Subversion». (Попробуйте «echo% APPDATA%», обратите внимание, что это скрытая директория.)

Для меня это связано с раскомментированием и настройкой следующих строк:

#http-proxy-host=my.proxy
#http-proxy-port=80
#http-proxy-username=[username]
#http-proxy-password=[password]
112
ответ дан michael 23 August 2018 в 02:44
поделиться
  • 1
    Кто-нибудь знает, есть ли способ настроить его на try прокси-сервер и вернуться к использованию основного сетевого подключения, если прокси-сервер недоступен? У меня есть прокси на работе, но когда я удален, я бы хотел использовать SVN, не открывая файл конфигурации и не прокомментируя строки для прокси. – Erik Mitchell 19 April 2012 в 16:36
  • 2
    Для меня решение Кимваиса ниже помогло. Мне пришлось раскомментировать раздел прямо под «[глобальным]». Вначале я расколол те же самые строки при их первом появлении, что не помогло. – Devesh 20 November 2013 в 12:43
  • 3
    Не забудьте изменить svn:// на http://. – nikc 12 June 2014 в 19:28
  • 4
    @ErikMitchell: создайте две версии файла конфигурации и сценарии, которые позволяют вам переключаться. Прочтите документы ОС, как подключиться к механизму обнаружения сети и выполнить правильный скрипт, когда ваш ноутбук заметит, где он находится. – Aaron Digulla 1 October 2014 в 16:36
  • 5
    Он работает для меня, но пароль остается в виде обычного текста. Я не хочу, чтобы мой пароль выглядел так. Есть ли способ контуры этого? – Pmt 17 November 2014 в 19:28

Для этого существуют два общих подхода:

Если вы находитесь в Windows, вы также можете записать http-proxy- параметры в реестр Windows . Это очень удобно, если вам нужно применить настройки прокси-сервера в среде Active Directory с помощью объектов групповой политики.

8
ответ дан bahrep 23 August 2018 в 02:44
поделиться
  • 1
    В linux вы можете использовать alias svn-my-proxy='svn --config-option ...', чтобы иметь возможность использовать svn-my-proxy co http://svn/repo/trunk. Это позволяет легко переключаться между конфигурациями прокси (svn-my-proxy co) и no-proxy (svn co) в зависимости от того, в какой сети ваша машина включена. Вы можете добавить команду alias к вашему ~/.bashrc, чтобы воссоздаваться при следующем входе в bash. Помогает мне много между моей рабочей сетью и моей домашней сетью! – Drew Anderson 2 July 2015 в 10:11
-1
ответ дан Petesh 23 August 2018 в 02:44
поделиться

В Windows 7 вам может потребоваться отредактировать этот файл

C: \ Users \ & lt; UserName & gt; \ AppData\roaming \ Subversion \ servers

[global]
http-proxy-host = ip.add.re.ss
http-proxy-port = 3128
11
ответ дан sdafjhjh 23 August 2018 в 02:44
поделиться

Здесь вы можете найти инструкции . В основном вы просто добавляете

[global]
http-proxy-host = ip.add.re.ss
http-proxy-port = 3128
http-proxy-compression = no

в свой файл ~/.subversion/servers.

58
ответ дан serv-inc 23 August 2018 в 02:44
поделиться

В TortoiseSVN вы можете настроить прокси-сервер в разделе Настройки => Сеть

0
ответ дан user3092818 23 August 2018 в 02:44
поделиться
  • 1
    Было бы очень приятно, если бы вы могли добавить скриншот – Petter Friberg 4 December 2015 в 20:41
Другие вопросы по тегам:

Похожие вопросы: