)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"change_message_id":"67c0674adf5eb68ddc11d6f5f9a68c604e80b0a1","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     paul luse \u003cpaul.e.luse@intel.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-03-20 09:32:20 -0700"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Make get_dev_path() treat moun_check literally..."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Only specifically check for a mount point if called for and if"},{"line_number":10,"context_line":"not then check to make sure that a dir exists unless the caller"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"1a6ced46_6fb67c8c","line":7,"updated":"2015-03-22 22:40:51.000000000","message":"s/moun_check/mount_check/","commit_id":"a9f62a13aada8ddd0378c49d6b75212cea296ad4"}],"swift/common/constraints.py":[{"author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"change_message_id":"02afc1e776aab189517bf2ad33d23dd7bfd1f300","unresolved":false,"context_lines":[{"line_number":208,"context_line":"    \"\"\""},{"line_number":209,"context_line":"    Verify that the path to the device is a directory and is a lesser"},{"line_number":210,"context_line":"    constraint that is enforced when a full mount_check isn\u0027t possible"},{"line_number":211,"context_line":"    with, for instance, a VM using loopback or paritions."},{"line_number":212,"context_line":""},{"line_number":213,"context_line":"    :param root:  base path where the dir is"},{"line_number":214,"context_line":"    :param drive: drive name to be checked"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a6ced46_384be3b1","line":211,"updated":"2015-03-23 08:07:12.000000000","message":"nitpick - typo: paritions -\u003e partitions","commit_id":"334b46c8af9c7fcd51cdb5978966ff9024ed94bf"},{"author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"change_message_id":"02afc1e776aab189517bf2ad33d23dd7bfd1f300","unresolved":false,"context_lines":[{"line_number":215,"context_line":"    :returns: True if it is a valid directoy, False otherwise"},{"line_number":216,"context_line":"    \"\"\""},{"line_number":217,"context_line":"    if not (urllib.quote_plus(drive) \u003d\u003d drive):"},{"line_number":218,"context_line":"        return False"},{"line_number":219,"context_line":"    return os.path.isdir(os.path.join(root, drive))"},{"line_number":220,"context_line":""},{"line_number":221,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"1a6ced46_b85fd371","line":218,"updated":"2015-03-23 08:07:12.000000000","message":"I\u0027m wondering why urllib.quote_plus is used here to check a path? Actually these checks reject valid partition names.\n\nLet\u0027s say I use a space in my partition name to separate device and partition number (\"sdb 1\"; might be a bad idea, but anyways).\n\nNo matter what, it will be rejected:\n\n \u003e\u003e\u003e urllib.quote_plus(\u0027sdb 1\u0027)\n \u0027sdb+1\u0027\n\n \u003e\u003e\u003e urllib.quote_plus(\u0027sdb\\ 1\u0027)\n \u0027sdb%5C+1\u0027\n\nIs this really the intended behavior?","commit_id":"334b46c8af9c7fcd51cdb5978966ff9024ed94bf"}],"swift/obj/diskfile.py":[{"author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"change_message_id":"67c0674adf5eb68ddc11d6f5f9a68c604e80b0a1","unresolved":false,"context_lines":[{"line_number":658,"context_line":"        # caller doesn\u0027t want any checks at all"},{"line_number":659,"context_line":"        else:"},{"line_number":660,"context_line":"            pass"},{"line_number":661,"context_line":"        return dev_path"},{"line_number":662,"context_line":""},{"line_number":663,"context_line":"    @contextmanager"},{"line_number":664,"context_line":"    def replication_lock(self, device):"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a6ced46_2f180484","line":661,"updated":"2015-03-22 22:40:51.000000000","message":"Could this logic be:\n\n  if mount_check or self.mount_check:\n      if not check_mount(self.devices, device):\n          dev_path \u003d None\n  elif mount_check is None:\n      if not check_dir(self.devices, device):\n          dev_path \u003d None\n  else:\n      pass\n\nI think that covers the same logic.. but uses less if statements, and only 1 call to check_mount. Although this is pre-coffee so I could be wrong :P","commit_id":"a9f62a13aada8ddd0378c49d6b75212cea296ad4"}],"test/unit/proxy/test_server.py":[{"author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"change_message_id":"67c0674adf5eb68ddc11d6f5f9a68c604e80b0a1","unresolved":false,"context_lines":[{"line_number":95,"context_line":"    for drive in (\u0027sda1\u0027, \u0027sdb1\u0027, \u0027sdc1\u0027, \u0027sdd1\u0027, \u0027sde1\u0027,"},{"line_number":96,"context_line":"                  \u0027sdf1\u0027, \u0027sdg1\u0027, \u0027sdh1\u0027, \u0027sdi1\u0027):"},{"line_number":97,"context_line":"        mkdirs(os.path.join(_testdir, drive))"},{"line_number":98,"context_line":"        mkdirs(os.path.join(_testdir, drive, \u0027tmp\u0027))"},{"line_number":99,"context_line":"    conf \u003d {\u0027devices\u0027: _testdir, \u0027swift_dir\u0027: _testdir,"},{"line_number":100,"context_line":"            \u0027mount_check\u0027: \u0027false\u0027, \u0027allowed_headers\u0027:"},{"line_number":101,"context_line":"            \u0027content-encoding, x-object-manifest, content-disposition, foo\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a6ced46_224d7b73","line":98,"updated":"2015-03-22 22:40:51.000000000","message":"mkdirs makes all the directories in a path if they don\u0027t exist, so only the last mkdirs line is required in the loop.","commit_id":"a9f62a13aada8ddd0378c49d6b75212cea296ad4"}]}
