1. 30 Oct, 2015 10 commits
    • Stavros Sachtouris's avatar
      Implement a stream download method, use it in cat · 9fa0fe6f
      Stavros Sachtouris authored
      "kamaki file cat" can now output data as they are being downloaded
      It is also safe to pipe it
      The new library method "stream_down" is implemented in
          "kamaki.clients.PithosClient" and it sequentially downloads
          parts of a remote object to a buffer, which is then written to
          the destination. The destination descriptor is prepared and
          provided by the caller (i.e., "kamaki file cat"). Each part of
          the object is downloaded asynchronously, though.
      9fa0fe6f
    • Stavros Sachtouris's avatar
      9da30c76
    • Stavros Sachtouris's avatar
      Check for invalid "/" character in container names · 81a74561
      Stavros Sachtouris authored
      Affects the kamaki.cli.cmds.errors.Pithos.container CLI error
      handler, which is used when a container name is present.
      81a74561
    • Stavros Sachtouris's avatar
      ac7de5ed
    • Stavros Sachtouris's avatar
      Generalize and enhance PithosLocationArgument · 70cff148
      Stavros Sachtouris authored
      * Move the class from kamaki.cli.cmds to kamaki.cli.argument
      * Change the name of object path from "path" to "object"
          throughout the class
      * Add the dict and tuple properties, which return the value
          in dict {user_uuid: .., container: .., object: ..} or
          tuple (user_uuid, container, object) format
      70cff148
    • Stavros Sachtouris's avatar
      Improve the blocking mechanism in kamaki clients · 80f20e72
      Stavros Sachtouris authored
      The "Waiter" class is now deprecated. A "wait" method is used
      instead. The new method is located at "kamaki.clients" and has
      this signature:
      wait(
          poll method, poll method params,
          stop method,
          delay=1, timeout=100,
          caller callback method=None)
      
      The poll method is provided by the caller and is typically the
      "get_details" method of each API client.
      
      The "poll method params" is a list of parameters for the polling
      method, typically just the item id (i.e., server_id, port_id,
      volume_id).
      
      The stop method returns a boolean, is called after each polling
      and decides whether the blocking should stop.
      
      The delay is the time between each call of the poll method
      
      The timeout is the total time after which the blocker stops
      
      The caller callback method is not a generator anymore, instead it
      is just a method that takes the results of the poll method as
      input and it is called at each iteration. It remains optional.
      Typically, the caller may use it to advance a progress bar.
      
      The CycladesComputeClient, CycladesNetworkClient and
      CycladesBlockStorageClient have been updated so that they make use
      of the new method, but they retain the ability to call the Waiter
      methods for two more versions, due to backwards compatibility
      policies.
      
      The CLI has been adjusted to use the new mechanism.
      80f20e72
    • Stavros Sachtouris's avatar
      7a352c9a
    • Stavros Sachtouris's avatar
      Correct "create_server" docstring for "networks" · 552219f5
      Stavros Sachtouris authored
      The "create_server" method is located at "kamaki.clients.cyclades"
      as member of the "CycladesComputeClient" class.
      
      The docstring was incorrectly describing the effects passing None
      or [] to the "networks" argument.
      552219f5
    • Stavros Sachtouris's avatar
      Fix pep8 errors on affected files · 2efb0894
      Stavros Sachtouris authored
      Used flake8 to check for pep8 errors
      2efb0894
    • Stavros Sachtouris's avatar
      Support uploading an object to different account · 71a2170b
      Stavros Sachtouris authored
      The term "different account" refers to a user account that is not
      the same as the one running the request.
      
      The most notable example is when user A uploads something to a
      directory owned by user B, provided user B has granted write
      permissions to user A.
      71a2170b
  2. 29 Oct, 2015 3 commits
  3. 12 Oct, 2015 2 commits
  4. 24 Sep, 2015 3 commits
  5. 08 Sep, 2015 3 commits
    • Stavros Sachtouris's avatar
      Use a new logging level for verbosity · dfe824dd
      Stavros Sachtouris authored
      The new logging level DEBUGV is set in "kamaki.clients" and it is
      used to log verbose information related to ReST communication.
      
      The CLI is changed accordingly.
      dfe824dd
    • Stavros Sachtouris's avatar
      Raise SSL error on IOError due to SSL cred. files · 3ef7651b
      Stavros Sachtouris authored
      The problem was noted in OS X: when an SSL credential file (e.g.,
      the certificates bundle) does not exist or is not provided, the
      ssl.wrap_socket method fails with an IOError, while in other
      systems it fails with an SSLError.
      
      In this commit, the IOError is examined and, if some conditions
      hold (errno==2, no SSL credential files or files do not exist), an
      SSLError is raised.
      3ef7651b
    • Stavros Sachtouris's avatar
      Bump version to 0.13.5 · 18abd633
      Stavros Sachtouris authored
      18abd633
  6. 05 Jun, 2015 2 commits
  7. 04 Jun, 2015 3 commits
  8. 04 May, 2015 5 commits
  9. 16 Mar, 2015 3 commits
  10. 02 Mar, 2015 4 commits
  11. 27 Feb, 2015 2 commits