ROOTPLOIT
Server: LiteSpeed
System: Linux server71.web-hosting.com 4.18.0-513.18.1.lve.el8.x86_64 #1 SMP Thu Feb 22 12:55:50 UTC 2024 x86_64
User: niphet (1079)
PHP: 5.3.29
Disabled: NONE
Upload Files
File: //lib/python2.7/site-packages/google/protobuf/symbol_database.pyc
ó
Š÷hc@sadZddlmZddlmZdejfd„ƒYZedejƒƒZd„ZdS(	sRA database of Python protocol buffer generated symbols.

SymbolDatabase is the MessageFactory for messages generated at compile time,
and makes it easy to create new instances of a registered type, given only the
type's protocol buffer symbol name.

Example usage:

  db = symbol_database.SymbolDatabase()

  # Register symbols of interest, from one or multiple files.
  db.RegisterFileDescriptor(my_proto_pb2.DESCRIPTOR)
  db.RegisterMessage(my_proto_pb2.MyMessage)
  db.RegisterEnumDescriptor(my_proto_pb2.MyEnum.DESCRIPTOR)

  # The database can be used as a MessageFactory, to generate types based on
  # their name:
  types = db.GetMessages(['my_proto.proto'])
  my_message_instance = types['MyMessage']()

  # The database's underlying descriptor pool can be queried, so it's not
  # necessary to know a type's filename to be able to generate it:
  filename = db.pool.FindFileContainingSymbol('MyMessage')
  my_message_instance = db.GetMessages([filename])['MyMessage']()

  # This functionality is also provided directly via a convenience method:
  my_message_instance = db.GetSymbol('MyMessage')()
i˙˙˙˙(tdescriptor_pool(tmessage_factorytSymbolDatabasecBsMeZdZd„Zd„Zd„Zd„Zd„Zd„Zd„Z	RS(s'A database of Python generated symbols.cCs'|j}||j|<|j|ƒ|S(s÷Registers the given message type in the local database.

    Calls to GetSymbol() and GetMessages() will return messages registered here.

    Args:
      message: a message.Message, to be registered.

    Returns:
      The provided message.
    (t
DESCRIPTORt_classestRegisterMessageDescriptor(tselftmessagetdesc((sC/usr/lib/python2.7/site-packages/google/protobuf/symbol_database.pytRegisterMessageDs	

cCs|jj|ƒdS(s‡Registers the given message descriptor in the local database.

    Args:
      message_descriptor: a descriptor.MessageDescriptor.
    N(tpoolt
AddDescriptor(Rtmessage_descriptor((sC/usr/lib/python2.7/site-packages/google/protobuf/symbol_database.pyRUscCs|jj|ƒ|S(sŤRegisters the given enum descriptor in the local database.

    Args:
      enum_descriptor: a descriptor.EnumDescriptor.

    Returns:
      The provided descriptor.
    (R
tAddEnumDescriptor(Rtenum_descriptor((sC/usr/lib/python2.7/site-packages/google/protobuf/symbol_database.pytRegisterEnumDescriptor]s	cCs|jj|ƒdS(s´Registers the given service descriptor in the local database.

    Args:
      service_descriptor: a descriptor.ServiceDescriptor.

    Returns:
      The provided descriptor.
    N(R
tAddServiceDescriptor(Rtservice_descriptor((sC/usr/lib/python2.7/site-packages/google/protobuf/symbol_database.pytRegisterServiceDescriptoris	cCs|jj|ƒdS(sŤRegisters the given file descriptor in the local database.

    Args:
      file_descriptor: a descriptor.FileDescriptor.

    Returns:
      The provided descriptor.
    N(R
tAddFileDescriptor(Rtfile_descriptor((sC/usr/lib/python2.7/site-packages/google/protobuf/symbol_database.pytRegisterFileDescriptorts	cCs|j|jj|ƒS(sxTries to find a symbol in the local database.

    Currently, this method only returns message.Message instances, however, if
    may be extended in future to support other symbol types.

    Args:
      symbol: A str, a protocol buffer symbol.

    Returns:
      A Python class corresponding to the symbol.

    Raises:
      KeyError: if the symbol could not be found.
    (RR
tFindMessageTypeByName(Rtsymbol((sC/usr/lib/python2.7/site-packages/google/protobuf/symbol_database.pyt	GetSymbolscs™‡fd†‰i}x}|D]u}|jj|ƒ}xZ|jjƒD]I}x@ˆ|ƒD]2}y|j|||j<WqWtk
rˆqWXqWWqDWqW|S(sGets all registered messages from a specified file.

    Only messages already created and registered will be returned; (this is the
    case for imported _pb2 modules)
    But unlike MessageFactory, this version also returns already defined nested
    messages, but does not register any message extensions.

    Args:
      files: The file names to extract messages from.

    Returns:
      A dictionary mapping proto names to the message classes.

    Raises:
      KeyError: if a file could not be found.
    c3s9|Vx-|jD]"}xˆ|ƒD]}|Vq"WqWdS(sCWalk a message Descriptor and recursively yields all message names.N(tnested_types(Rtmsg_desctnested_desc(t_GetAllMessages(sC/usr/lib/python2.7/site-packages/google/protobuf/symbol_database.pyR¤s(R
tFindFileByNametmessage_types_by_nametvaluesRt	full_nametKeyError(Rtfilestresultt	file_namet	file_descRR((RsC/usr/lib/python2.7/site-packages/google/protobuf/symbol_database.pytGetMessages‘s

(
t__name__t
__module__t__doc__R	RRRRRR&(((sC/usr/lib/python2.7/site-packages/google/protobuf/symbol_database.pyRAs						R
cCstS(s#Returns the default SymbolDatabase.(t_DEFAULT(((sC/usr/lib/python2.7/site-packages/google/protobuf/symbol_database.pytDefaultťsN(R)tgoogle.protobufRRtMessageFactoryRR+R*(((sC/usr/lib/python2.7/site-packages/google/protobuf/symbol_database.pyt<module>:s
w