We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
Cannot from PIL import ImageGrab
Does Pillow2.5.3 ImageGrab still not support other OS except windows?
If not, why we cannot do that?

---

/Library/Python/2.7/site-packages/Pillow-2.5.3-py2.7-macosx-10.9-intel.egg/PIL/**init**.py

Python 2.7.5 (default, Mar  9 2014, 22:15:05)
[GCC 4.2.1 Compatible Apple LLVM 5.0 (clang-500.0.68)] on darwin
Type "help", "copyright", "credits" or "license" for more information.

> > > from PIL import ImageGrab
> > > Traceback (most recent call last):
> > >   File "<stdin>", line 1, in <module>
> > >   File "build/bdist.macosx-10.9-intel/egg/PIL/ImageGrab.py", line 26, in <module>
> > > ImportError: No module named _grabscreen


--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `PIL/ImageGrab.py`
Content:
```
1 #
2 # The Python Imaging Library
3 # $Id$
4 #
5 # screen grabber (windows only)
6 #
7 # History:
8 # 2001-04-26 fl  created
9 # 2001-09-17 fl  use builtin driver, if present
10 # 2002-11-19 fl  added grabclipboard support
11 #
12 # Copyright (c) 2001-2002 by Secret Labs AB
13 # Copyright (c) 2001-2002 by Fredrik Lundh
14 #
15 # See the README file for information on usage and redistribution.
16 #
17 
18 from PIL import Image
19 
20 
21 try:
22     # built-in driver (1.1.3 and later)
23     grabber = Image.core.grabscreen
24 except AttributeError:
25     # stand-alone driver (pil plus)
26     import _grabscreen
27     grabber = _grabscreen.grab
28 
29 
30 def grab(bbox=None):
31     size, data = grabber()
32     im = Image.frombytes(
33         "RGB", size, data,
34         # RGB, 32-bit line padding, origo in lower left corner
35         "raw", "BGR", (size[0]*3 + 3) & -4, -1
36         )
37     if bbox:
38         im = im.crop(bbox)
39     return im
40 
41 
42 def grabclipboard():
43     debug = 0 # temporary interface
44     data = Image.core.grabclipboard(debug)
45     if isinstance(data, bytes):
46         from PIL import BmpImagePlugin
47         import io
48         return BmpImagePlugin.DibImageFile(io.BytesIO(data))
49     return data
50
```
--- END FILES ---

Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.

Here is an example:

```diff
diff --git a/examples/server_async.py b/examples/server_async.py
--- a/examples/server_async.py
+++ b/examples/server_async.py
@@ -313,4 +313,4 @@
 
 
 if __name__ == "__main__":
-    asyncio.run(run_async_server("."), debug=True)
+    asyncio.run(run_async_server(), debug=True)
diff --git a/examples/server_sync.py b/examples/server_sync.py
--- a/examples/server_sync.py
+++ b/examples/server_sync.py
@@ -313,5 +313,5 @@
 
 
 if __name__ == "__main__":
-    server = run_sync_server(".")
+    server = run_sync_server()
     server.shutdown()

```

diff --git a/PIL/ImageGrab.py b/PIL/ImageGrab.py
--- a/PIL/ImageGrab.py
+++ b/PIL/ImageGrab.py
@@ -17,6 +17,9 @@
 
 from PIL import Image
 
+import sys
+if sys.platform != "win32":
+    raise ImportError("ImageGrab is Windows only")
 
 try:
     # built-in driver (1.1.3 and later)
@@ -40,7 +43,7 @@
 
 
 def grabclipboard():
-    debug = 0 # temporary interface
+    debug = 0  # temporary interface
     data = Image.core.grabclipboard(debug)
     if isinstance(data, bytes):
         from PIL import BmpImagePlugin

{"golden_diff": "diff --git a/PIL/ImageGrab.py b/PIL/ImageGrab.py\n--- a/PIL/ImageGrab.py\n+++ b/PIL/ImageGrab.py\n@@ -17,6 +17,9 @@\n \n from PIL import Image\n \n+import sys\n+if sys.platform != \"win32\":\n+    raise ImportError(\"ImageGrab is Windows only\")\n \n try:\n     # built-in driver (1.1.3 and later)\n@@ -40,7 +43,7 @@\n \n \n def grabclipboard():\n-    debug = 0 # temporary interface\n+    debug = 0  # temporary interface\n     data = Image.core.grabclipboard(debug)\n     if isinstance(data, bytes):\n         from PIL import BmpImagePlugin\n", "issue": "Cannot from PIL import ImageGrab\nDoes Pillow2.5.3 ImageGrab still not support other OS except windows?\nIf not, why we cannot do that?\n\n---\n\n/Library/Python/2.7/site-packages/Pillow-2.5.3-py2.7-macosx-10.9-intel.egg/PIL/**init**.py\n\nPython 2.7.5 (default, Mar  9 2014, 22:15:05)\n[GCC 4.2.1 Compatible Apple LLVM 5.0 (clang-500.0.68)] on darwin\nType \"help\", \"copyright\", \"credits\" or \"license\" for more information.\n\n> > > from PIL import ImageGrab\n> > > Traceback (most recent call last):\n> > >   File \"<stdin>\", line 1, in <module>\n> > >   File \"build/bdist.macosx-10.9-intel/egg/PIL/ImageGrab.py\", line 26, in <module>\n> > > ImportError: No module named _grabscreen\n\n", "before_files": [{"content": "#\n# The Python Imaging Library\n# $Id$\n#\n# screen grabber (windows only)\n#\n# History:\n# 2001-04-26 fl  created\n# 2001-09-17 fl  use builtin driver, if present\n# 2002-11-19 fl  added grabclipboard support\n#\n# Copyright (c) 2001-2002 by Secret Labs AB\n# Copyright (c) 2001-2002 by Fredrik Lundh\n#\n# See the README file for information on usage and redistribution.\n#\n\nfrom PIL import Image\n\n\ntry:\n    # built-in driver (1.1.3 and later)\n    grabber = Image.core.grabscreen\nexcept AttributeError:\n    # stand-alone driver (pil plus)\n    import _grabscreen\n    grabber = _grabscreen.grab\n\n\ndef grab(bbox=None):\n    size, data = grabber()\n    im = Image.frombytes(\n        \"RGB\", size, data,\n        # RGB, 32-bit line padding, origo in lower left corner\n        \"raw\", \"BGR\", (size[0]*3 + 3) & -4, -1\n        )\n    if bbox:\n        im = im.crop(bbox)\n    return im\n\n\ndef grabclipboard():\n    debug = 0 # temporary interface\n    data = Image.core.grabclipboard(debug)\n    if isinstance(data, bytes):\n        from PIL import BmpImagePlugin\n        import io\n        return BmpImagePlugin.DibImageFile(io.BytesIO(data))\n    return data\n", "path": "PIL/ImageGrab.py"}], "after_files": [{"content": "#\n# The Python Imaging Library\n# $Id$\n#\n# screen grabber (windows only)\n#\n# History:\n# 2001-04-26 fl  created\n# 2001-09-17 fl  use builtin driver, if present\n# 2002-11-19 fl  added grabclipboard support\n#\n# Copyright (c) 2001-2002 by Secret Labs AB\n# Copyright (c) 2001-2002 by Fredrik Lundh\n#\n# See the README file for information on usage and redistribution.\n#\n\nfrom PIL import Image\n\nimport sys\nif sys.platform != \"win32\":\n    raise ImportError(\"ImageGrab is Windows only\")\n\ntry:\n    # built-in driver (1.1.3 and later)\n    grabber = Image.core.grabscreen\nexcept AttributeError:\n    # stand-alone driver (pil plus)\n    import _grabscreen\n    grabber = _grabscreen.grab\n\n\ndef grab(bbox=None):\n    size, data = grabber()\n    im = Image.frombytes(\n        \"RGB\", size, data,\n        # RGB, 32-bit line padding, origo in lower left corner\n        \"raw\", \"BGR\", (size[0]*3 + 3) & -4, -1\n        )\n    if bbox:\n        im = im.crop(bbox)\n    return im\n\n\ndef grabclipboard():\n    debug = 0  # temporary interface\n    data = Image.core.grabclipboard(debug)\n    if isinstance(data, bytes):\n        from PIL import BmpImagePlugin\n        import io\n        return BmpImagePlugin.DibImageFile(io.BytesIO(data))\n    return data\n", "path": "PIL/ImageGrab.py"}]}