LinuxQuestions.org
Download your favorite Linux distribution at LQ ISO.
Go Back   LinuxQuestions.org > Blogs > freemedia2018
User Name
Password

Notices


Rate this Entry

colourfind -- pipe find to this, get size, colour by type, -d for time and date

Posted 03-18-2019 at 04:25 AM by freemedia2018
Updated 03-18-2019 at 04:27 AM by freemedia2018

https://i.imgtc.com/L80yd3L.png

should also work on python 2

Code:
#!/usr/bin/env python3
# coding: utf-8 
#### license: creative commons cc0 1.0 (public domain) 
#### http://creativecommons.org/publicdomain/zero/1.0/ 
proginf = "colourfind, mar 2019 mn"

import sys
import os
from datetime import datetime

from sys import stdin, stdout
from os import popen
from os import name as osname
	
def colortext(f, b ):
    if  f == None: 
        f = 0
    if  b == None: 
        b = 0
    n = "0"
    if  f > 7: 
        n = "1"
        f = f - 8
    if  f == 1: 
        f = 4 ## switch ansi colours for qb
    elif f == 4: 
        f = 1
    if  f == 3: 
        f = 6
    elif f == 6: 
        f = 3
    if  b > 7: 
        b = b - 8
    if  b == 1: 
        b = 4
    elif b == 4: 
        b = 1
    if  b == 3: 
        b = 6
    elif b == 6: 
        b = 3
    return "\x1b[" + n + ";" + str(30+f) + ";" + str(40+ b ) + "m"

def padleft(p, s, c=7):
    if type( c ) == int:
        c = (c, 0)
    else:
        c = c.split()
    return colortext(int(c[0]), 
    int(c[1])) + (" " * s + str(p))[-s:] + colortext(7, 0)

def padright(p, s, c="5 0"):
    if type( c ) == int:
        c = (c, 0)
    else:
        c = c.split()
    return colortext(int(c[0]),
    int(c[1])) + (str(p) + " " * s)[:s] + colortext(7, 0)

def colourdc(c, f="p"):
    if type( c ) != int: c = c.lower()
    if c in [0, "0"]:
        return "9 0"
    cb = "0"
    if len(f.split()) > 1:
        cb = "1"
    if c in [2, ".bat", ".com", ".exe"]:
        return "10 " + cb
    if c in [1, ".lnk"]:
        return "11 " + cb
    if c in [".tgz", ".tar.gz", ".gz", ".zip", ".7z"]:
        return "4 " + cb
    if c in [".fig", ".alex", ".py", ".fig.py", ".rose"]:
        return "2 " + cb
    if c in [".ogg", ".mp4", ".mpeg", ".mpg", ".mp3", ".webm", ".odt",
    ".odp", ".pdf"]:
        return "3 " + cb
    if c in ["."]:
        return "8 " + cb
    if c in [".jpg", ".jpeg", ".gif", ".bmp", ".pbm", ".pgm", ".ppm",
    ".tga", ".xbm", ".xpm", ".tif", ".tiff", ".png", ".svg", ".svgz",
    ".mng", ".pcx", ".mov", ".mpg", ".mpeg", ".m2v", ".mkv", ".ogm",
    ".m4v", ".mp4v", ".vob", ".flc", ".avi", ".fli", ".flv", ".gl", 
    ".dl", ".xcf", ".xwd", ".yuv", ".cgm", ".emf", ".ogv"]:
        return "13 " + cb
    if c in [".htm", ".html", ".txt", ".js", ".php"]:
        return "14 " + cb
    return "7 " + cb

dates = ""
cw = 80
sizel = 0

dates = dates[1:]

from os import listdir
from os import path

for fp in stdin:    
    fp = fp[:-1]
    b = []
    bfext = 0
    bp = 0
    bfs = 0
    bfiletime = 19
  
    try: 
        paths = 1
        for p in chr(0):
            p = fp
            paths = 1
            fext = path.splitext(fp + path.sep + p)[1]
            if len(p) > bfext:
                bfext = len(p) 

            try: 
                fs = int(os.path.getsize(fp))
                bfs = 0
            except: 
                fs = ""

            try: 
                if os.access(fp, os.X_OK):
                    fext = 2
                if os.path.isdir(fp):
                    fext = 0 
                if os.path.islink(fp):
                    fext = 1 
            except: 
                pass

            try: 
                filetime = str(
                datetime.fromtimestamp(os.path.getmtime(fp)))[0:19]
            except: 
                filetime = ""

            tab = chr(9)

            pld = 1 
            tab = chr(9)
            bfile = tab + tab + padleft(str(filetime), bfiletime)
            try: 
                flag = (sys.argv[1] == "-d")
            except: 
                flag = 0
            if not flag: 
                bfile = ""
            print(str(fs) + " " + tab +  padright(p, 
            bfext, colourdc(fext, p)) + bfile)

    except OSError: 
        pass
Posted in Uncategorized
Views 236 Comments 3
« Prev     Main     Next »
Total Comments 3

Comments

  1. Old Comment
    Hey, fReemedia, hablando de encontrar, mira lo que encontré:

    https://www.pymelegal.es/es/noticias...d-lopdgdd.html

    http://www.privacy-regulation.eu/es/82.htm

    http://www.privacy-regulation.eu/es/5.htm

    Voy a ir investigando cuánto me tienen que pagar de indemnización, pero no crean que me van a venir con cuentos.

    Ahí nos vemos.
    Posted 05-06-2019 at 01:48 AM by jazzy_mood jazzy_mood is offline
  2. Old Comment
    Y aquí te dejo este otro sobre las multas: https://protecciondatos-lopd.com/emp...mplieron-rgpd/. Te resalto esta parte:

    Quote:
    La autoridad de Protección de Datos de Portugal impuso tres multas al Hospital do Barreiro: dos sanciones de 150.000 euros y otra de 100.000 euros. Las primeras dos multas de 150 mil euros fueron por violación del principio de confidencialidad, y la violación del principio de la minimización de los datos, que en teoría previene su acceso indiscriminado.

    (...)

    En total, el Hospital ha tenido que pagar un importe de 400.000 euros
    .

    Otro enlace de interés que estoy seguro que conoces:

    https://www.aepd.es/reglamento/cumplimiento/index.html

    Y recuerdo haber leído en alguna parte de la página de la página de la AEPD que la información relativa a las opiniones políticas de una persona (entre otros datos personales), no se puede revelar ni tratar de manera inadecuada. Y estoy completamente seguro de que una o varias personas de tu empresa se ensañaron conmigo por mis ideas políticas; ideas que tengo absolutamente todo el derecho de tener y expresar. Y si las estoy expresando en una llamada telefónica y otra persona está escuchándolas de manera ilegal y actuando en mi contra porque no le gustan mis ideas políticas, esto constituye un delito.

    Luego seguimos hablando.
    Posted 05-06-2019 at 09:23 AM by jazzy_mood jazzy_mood is offline
  3. Old Comment
    Hola freemedia, te escribo para recordarte que eres un cobarde y un gilipollas, y me la sudas por completo. Ahí nos vemos.
    Posted 05-16-2019 at 12:19 PM by jazzy_mood jazzy_mood is offline
 

  



All times are GMT -5. The time now is 06:29 PM.

Main Menu
Advertisement
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration