mirror of
https://github.com/imcarlost/pidcat-repl.git
synced 2026-08-08 23:17:43 -04:00
Merge pull request #63 from brennantaylor/catfile
When there is data on stdin we use it instead of adb
This commit is contained in:
@@ -22,11 +22,11 @@ limitations under the License.
|
|||||||
# Package filtering and output improvements by Jake Wharton, http://jakewharton.com
|
# Package filtering and output improvements by Jake Wharton, http://jakewharton.com
|
||||||
|
|
||||||
import argparse
|
import argparse
|
||||||
|
import sys
|
||||||
import re
|
import re
|
||||||
import subprocess
|
import subprocess
|
||||||
from subprocess import PIPE
|
from subprocess import PIPE
|
||||||
|
|
||||||
|
|
||||||
LOG_LEVELS = 'VDIWEF'
|
LOG_LEVELS = 'VDIWEF'
|
||||||
LOG_LEVELS_MAP = dict([(LOG_LEVELS[i], i) for i in range(len(LOG_LEVELS))])
|
LOG_LEVELS_MAP = dict([(LOG_LEVELS[i], i) for i in range(len(LOG_LEVELS))])
|
||||||
parser = argparse.ArgumentParser(description='Filter logcat by package name')
|
parser = argparse.ArgumentParser(description='Filter logcat by package name')
|
||||||
@@ -158,13 +158,23 @@ adb_command.append('logcat')
|
|||||||
# Clear log before starting logcat
|
# Clear log before starting logcat
|
||||||
if args.clear_logcat:
|
if args.clear_logcat:
|
||||||
adb_clear_command = list(adb_command)
|
adb_clear_command = list(adb_command)
|
||||||
adb_clear_command.append('-c')
|
adb_clear_command.append('-c')
|
||||||
adb_clear = subprocess.Popen(adb_clear_command)
|
adb_clear = subprocess.Popen(adb_clear_command)
|
||||||
|
|
||||||
while adb_clear.poll() is None:
|
while adb_clear.poll() is None:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
adb = subprocess.Popen(adb_command, stdin=PIPE, stdout=PIPE, stderr=PIPE)
|
# This is a ducktype of the subprocess.Popen object
|
||||||
|
class FakeStdinProcess():
|
||||||
|
def __init__(self):
|
||||||
|
self.stdout = sys.stdin
|
||||||
|
def poll(self):
|
||||||
|
return None
|
||||||
|
|
||||||
|
if sys.stdin.isatty():
|
||||||
|
adb = subprocess.Popen(adb_command, stdin=PIPE, stdout=PIPE, stderr=PIPE)
|
||||||
|
else:
|
||||||
|
adb = FakeStdinProcess()
|
||||||
pids = set()
|
pids = set()
|
||||||
last_tag = None
|
last_tag = None
|
||||||
app_pid = None
|
app_pid = None
|
||||||
|
|||||||
Reference in New Issue
Block a user