Your IP : 216.73.216.134


Current Path : /opt/rh/rh-python35/root/lib64/python3.5/__pycache__/
Upload File :
Current File : //opt/rh/rh-python35/root/lib64/python3.5/__pycache__/locale.cpython-35.pyc



���\�#�^@s�dZddlZddlZddlZddlZddlZddlmZddl	Z	dddddd	d
ddd
dddddddddddddgZ
dd�Zdd�Zyddl
TWncek
r4d Zd!Zd"ZdZd#Zd$Zd%Zd&ZeZd'd
�Zdd(d�ZYnXde�krJeZde�kr_eZeZiZe	j e�d)d
��Zd*d+�Z!d,d-d.�Z"d/d0�Z#ej$d1�Z%d,d,d2d�Z&d,d,d3d4�Z'd,d5d�Z(d6d,d,d7d�Z)d8d
�Zd9d:�Z*e+d;d�Z,d<d�Z-d=d>�Z.eZ/d?d@�Z0dAdB�Z1dCd�Z2dDdE�Z3dFdG�Z4d�dJd�Z5edKd�Z6ddLd�ZedMd	�Z7ej8j9dN�r�d6dOd�Z:n;ye;Wn!e<k
rd6dPd�Z:YnXd6dQd�Z:dRdSdTdSdUdVdWdXdYdXdZd[d\d]d^d_d`dadbdcdddVdedfdgdhdidjdkdVdldVdmdVdndodpdqdrdsdtdudvdjdwdxdydfdzd{d|d}d~dhdd�d�d�d�d�d�d�d�dXd�d�d�d�d�d[d�d�d�d�d�d�d�d�d�d�d�d�d�d_d�dad�dci,Z=xBe>e=j?��D].\Z@ZAe@jBd�d��Z@e=jCe@eA�qAWd�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�dddddddddddd	d
d	dd�dd
dTdSddddSddSdd�ddddSddSddddddddddd d!d"dd#d�d$d%d&d'd(d)d*d+d,d-d.d-d/d-d0d1d2d3d4d5d6d5d7d-d8d-d9d-d:d;d<d;d=d;d>d;d?d@dAdBdCdDdEdFdGd@dHdIdJdKdLd@dMdNdOdPdQdRdSdTdUdVdWdXdYdXdZd[d\d]d^d_d`d]dadbdUd�dcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzd{d|d}d~dd�d�drd�d�d�d�d�d�d�d�d�d�d�d�d�drd�d�d�drd�d�d�dSd�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d[d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�dd�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�dd@dd@ddFdd@dddddd�d	d�d
d]ddd
ddddddddddddddddddddddd+dd+dd+d d!d"d#d$d%d&d%d'd%d(d)d*d+d,d-d.d/d0d1d2d3d4d3d5d6d7d8d9d3d:d3d;d1d<d1d=d�d>d�d?d�d@d�dAd�dBd�dCdDdEdFdGdDdHdDdIdJdKdJdLdJdMddNddOdPdQdRdSdRdTdRdUdVdWdVdXdRdYdRdZdRd[dRd\dRd]d^d_d^d`d^dadbdcd^dddedfdgdhdgdidjdkdldmdldndodpdodqdodrdsdtdodudodvdwdxdwdydzd{d|d}d~dd~d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�dd�dd�d�d�d�d�d�d�d�d�d�d�d�d�dPd�d�d�dRd�dPd�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�ddddddddddddSd	dSd
dddd
dddddddddddddddddddddddddd dd!d"d#d$d%d&d'd(d)d(d*d+d,d-d.d/d0d1d2d1d3d4d5d6d7d+d8d4d9d1d:d;d<d=d>d=d?d@dAd=dBdCdDdCdEdFdGdHdIdFdJdCdKdFdLdFdMdNdOdPdQdRdSdTdUdVdWdVdXd�dYd�dZd[d\d[d]d^d_d`dad`dbdcdddedfd4dgdcdhdidjd`dkd1dld4dmd1dndodpd4dqdVdrdVdsdodtd`dud`dvd`dwdxdydxdzd{d|d{d}d~dd�d�d~d�d�d�d�d�d~d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�dd�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d%d�d�d�d�d�d%d�d�d�d�d�d�d�d�d�d�d�d'd�d'd�d�d�d�i'ZDd�dddddddddd	d
ddd
ddddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d,d.d/d0d1d2d3d4d5d6d7d8d7d9d:d;d<d=d>d$d?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzd{d|dyd}d~dd�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�dddddddddd	d
ddd
ddddddddddddddddddd d!d"d#d$d%d&d'd(d%d)d'd*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d5d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzd{d|d}d~dd�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�i�ZEd�d��ZFyeWne<k
rqYnXe
jGd��eHd�kr�eId��eI�eF�eI�eId��eI�e.�dS(�a� Locale support.

    The module provides low-level access to the C lib's locale APIs
    and adds high level number formatting APIs as well as a locale
    aliasing engine to complement these.

    The aliasing engine includes support for many commonly used locale
    names and maps them to values suitable for passing to the C lib's
    setlocale() function. It also includes default encodings for all
    supported locale names.

�N)�str�	getlocale�getdefaultlocale�getpreferredencoding�Error�	setlocale�resetlocale�
localeconv�strcoll�strxfrmr�atof�atoi�format�
format_string�currency�	normalize�LC_CTYPE�
LC_COLLATE�LC_TIME�LC_MONETARY�
LC_NUMERIC�LC_ALL�CHAR_MAXcCs||k||kS)zZ strcoll(string,string) -> int.
        Compares two strings according to the locale.
    �)�a�brr�6/opt/rh/rh-python35/root/usr/lib64/python3.5/locale.py�_strcoll"srcCs|S)z\ strxfrm(string) -> string.
        Returns a string that behaves for cmp locale-aware.
    r)�srrr�_strxfrm(sr)�*�������c$Cssddgdddddddddgd	dd
dddd
dddddddddddddddddiS)zd localeconv() -> dict.
            Returns numeric and monetary locale-specific parameters.
        �groupingr!�currency_symbol��n_sign_posn�
p_cs_precedes�
n_cs_precedes�mon_grouping�n_sep_by_space�
decimal_point�.�
negative_sign�
positive_sign�p_sep_by_space�int_curr_symbol�p_sign_posn�
thousands_sep�mon_thousands_sep�frac_digits�mon_decimal_point�int_frac_digitsrrrrrr	@s$	cCs|dkrtd��dS)zd setlocale(integer,string=None) -> string.
            Activates/queries locale processing.
        Nr*�Cz*_locale emulation only supports "C" locale)Nr*r<)r)�category�valuerrrrXscCs t�}tr|jt�|S)N)�_localeconv�_override_localeconv�update)�drrrr	ms	
ccsfd}xY|D]Q}|tkr#dS|dkrS|dkrGtd��x	|VqJW|V|}q
WdS)Nrzinvalid grouping)r�
ValueError)r(Z
last_interval�intervalrrr�_grouping_intervals{s
	rEFc
CsBt�}||rdpd}||r.dp1d}|sE|dfS|d
dkr�|j�}|t|�d�}|}nd}d}g}xat|�D]S}	|s�|dd	kr�|}d}P|j||	d��|d|	�}q�W|r	|j|�|j�||j|�|t|�t|�dfS)Nr8r7r.r(rr&� r*�
0123456789���rH)r	�rstrip�lenrE�append�reverse�join)
r�monetary�convr7r(ZstrippedZright_spacesZleft_spaces�groupsrDrrr�_group�s0	
	

rQcCs�d}x.|r6||dkr6|d7}|d8}q	Wt|�d}x.|rw||dkrw|d8}|d8}qJW|||d�S)NrrFr&)rJ)rZamountZlposZrposrrr�_strip_padding�s

rRzG%(?:\((?P<key>.*?)\))?(?P<modifiers>[-#0-9 +*.hlL]*?)[eEfFgGdiouxXcrs%]cGs`tj|�}|s4t|j��t|�krJtdt|���t|||||�S)z�Returns the locale-aware substitution of a %? specifier
    (percent).

    additional is for format strings which contain one or more
    '*' modifiers.zHformat() must be given exactly one %%char format specifier, %s not valid)�_percent_re�matchrJ�grouprC�repr�_format)�percentr>r(rN�
additionalrTrrrr�s
%c	Gs�|r||f|}n
||}|d	dkr�d}|jd�}|rot|dd|�\|d<}t�|r�dp�d}|j|�}|r�t||�}nI|d
dkr�d}|r�t|d|�\}}|r�t||�}|S)Nr&ZeEfFgGrr1rNr:r0ZdiurHrH)�splitrQr	rMrR)	rXr>r(rNrYZ	formattedZseps�partsr0rrrrW�s(
 rWc	Cslttj|��}tjd|�}t|tj�r�g}x|D]K}|j�ddkrr|jd�qF|jt	|j�||��qFWn�t|t
�s�|f}g}d}x�|D]�}|j�d	dkr�|jd�q�|jd�jd�}|jt|j�|||d||d|d|���|d|7}q�Wt
|�}||S)
z�Formats a string in the same way that the % formatting would use,
    but takes the current locale into account.
    Grouping is applied if the third parameter is true.z%sr&�%rZ	modifiersr FrHrH)
�listrS�finditer�sub�
isinstance�collections�MappingrUrKr�tuple�countrW)	�f�valr(ZpercentsZnew_fZnew_valZperc�iZ	starcountrrrr�s0
&	
 TcCs�t�}||rdpd}|dkr7td��td|t|�|dd�}d|d	}|r�||r|d
pd}||dkr�d
p�d}||dkr�dp�d}	|r�||	r�dp�d|}n||	r�dp�d|}||dkr
dpd}
||dkr)dp,d}|
dkrMd|d}n~|
dkrf||}ne|
dkr||}nL|
dkr�|jd|�}n+|
dkr�|jd	|�}n
||}|jdd�jd	d�S)zIFormats val according to the currency settings
    in the current locale.r;r9r!z9Currency formatting is not possible using the 'C' locale.z%%.%ifrNT�<�>r5r)rr-r,r/r4rFr*r+r6r2r3�(�)r&r'r#r%)r	rCr�abs�replace)rfZsymbolr(Z
internationalrOZdigitsrZsmbZprecedesZ	separatedZsign_posZsignrrrr�s6	"


cCs
td|�S)z9Convert float to integer, taking the locale into account.z%.12g)r)rfrrrr,scCsNt�d}|r%|j|d�}t�d}|rJ|j|d�}|S)zHParses a string as a normalized number according to the locale settings.r7r*r0r1)r	rm)�string�tsZddrrr�
delocalize0s

rpcCs|t|��S)z<Parses a string as a float according to the locale settings.)rp)rn�funcrrrr<scCstt|��S)zAConverts a string to an integer according to the locale settings.)�intrp)rnrrrr
@scCs[ttd�tddd�}t|dt|��td�}t|dt|��dS)Nr*z%di�[r&�isg��Q�	@)rrr�printr
rr)�s1rrr�_testDs

rvcCs�d|kr(|d|jd��}n|}tj|�}tjjj|j�|�}|}|j�}|tkr�t|}n:|jdd�}|jdd�}|tkr�t|}|d|S)Nr1�_r*�-)�index�	encodings�normalize_encoding�aliases�get�lower�locale_encoding_aliasrm)�code�encoding�langname�
norm_encodingrrr�_replace_encodingVs	

r�cCsm|dkrad|kr |dS|jd�\}}}|dkrH|S|dkrat|d�S|d|S)	N�euror1z.ISO8859-15�
ISO8859-15�UTF-8z	ISO8859-1�@)r�r�)�	partitionr�)r��modifierrwr�rrr�_append_modifierms
r�c	Cs�|j�}d|kr*|jdd�}d|krQ|jdd�\}}nd}d|kr�|jd�dd�\}}n|}d}|}|r�|jdd�}|jd	d�}|d|7}|}|r�|d|7}tj|d�}|dk	r|S|rntj|d�}|dk	rnd|krHt||�S|jdd�dj�|krn|S|r}|}|r�|d|7}tj|d�}|dk	r�d|kr�t||�S|jdd�\}}t||�d|S|r}tj|d�}|dk	r}d|kr>t||�}t||�S|jdd�\}}|j�|kr}t||�d|S|S)
a� Returns a normalized locale code for the given locale
        name.

        The returned locale code is formatted for use with
        setlocale().

        If normalization fails, the original name is returned
        unchanged.

        If the given encoding is not known, the function defaults to
        the default encoding for the locale code just like setlocale()
        does.

    �:r1r�r&r*Nr'rxrw)r~rmrZ�locale_aliasr}r�r�)	�
localenamer�r�r�r�Zlang_encr�Zlookup_nameZdefmodrrrrxs`"
"

cCs�t|�}d|krR|jdd�\}}|dkrRd|krR|dfSd|kr{t|jd�dd��S|dkr�d
Std	|��dS)a� Parses the locale code for localename and returns the
        result as tuple (language code, encoding).

        The localename is normalized and passed through the locale
        alias engine. A ValueError is raised in case the locale name
        cannot be parsed.

        The language code corresponds to RFC 1766.  code and encoding
        can be None in case the values cannot be determined or are
        unknown to this implementation.

    r�r&r�r1ziso-8859-15Nr'r<zunknown locale: %s)NN)rrZrcrC)r�r�r�rrr�_parse_localename�s
r�cCsiy>|\}}|dkr!d}|dkr1|S|d|SWn$ttfk
rdtd��YnXdS)z� Builds a locale code from the given tuple (language code,
        encoding).

        No aliasing or normalizing takes place.

    Nr<r1zXLocale must be None, a string, or an iterable of two strings -- language code, encoding.)�	TypeErrorrC)ZlocaletupleZlanguager�rrr�_build_localename�sr��LANG�LANGUAGEcCs�y"ddl}|j�\}}Wnttfk
r<YnNXtjdkr�|r�|dd�dkr�tjt|d��}||fSddl	}|j
j}xI|D];}||d�}|r�|dkr�|jd�d}Pq�Wd}t|�S)	a� Tries to determine the default locale settings and returns
        them as tuple (language code, encoding).

        According to POSIX, a program which has not called
        setlocale(LC_ALL, "") runs using the portable 'C' locale.
        Calling setlocale(LC_ALL, "") lets it use the default locale as
        defined by the LANG variable. Since we don't want to interfere
        with the current locale setting we thus emulate the behavior
        in the way described above.

        To maintain compatibility with other platforms, not only the
        LANG variable is tested, but a list of variables given as
        envvars parameter. The first found to be defined will be
        used. envvars defaults to the search path used in GNU gettext;
        it must always contain the variable name 'LANG'.

        Except for the code 'C', the language code corresponds to RFC
        1766.  code and encoding can be None in case the values cannot
        be determined.

    rN�win32r'Z0xr�r�r<)
�_localeZ_getdefaultlocale�ImportError�AttributeError�sys�platform�windows_localer}rr�os�environrZr�)Zenvvarsr�r�r�r��lookupZvariabler�rrrr�s$+

cCs:t|�}|tkr0d|kr0td��t|�S)ap Returns the current setting for the given locale category as
        tuple (language code, encoding).

        category may be one of the LC_* value except LC_ALL. It
        defaults to LC_CTYPE.

        Except for the code 'C', the language code corresponds to RFC
        1766.  code and encoding can be None in case the values cannot
        be determined.

    �;z category LC_ALL is not supported)�
_setlocalerr�r�)r=r�rrrr2s
cCs5|r(t|t�r(tt|��}t||�S)a^ Set the locale for the given category.  The locale can be
        a string, an iterable of two strings (language code and encoding),
        or None.

        Iterables are converted to strings using the locale aliasing
        engine.  Locale strings are passed directly to the C lib.

        category may be given as one of the LC_* values.

    )r`�_builtin_strrr�r�)r=ZlocalerrrrDscCst|tt���dS)z� Sets the locale for category to the default setting.

        The default setting is determined by calling
        getdefaultlocale(). category defaults to LC_ALL.

    N)r�r�r)r=rrrrUs�wincCsddl}|jd�S)z1Return the charset that the user is likely using.rNF)�_bootlocaler)�do_setlocaler�rrrrascCs#t�d}|dkrd}|S)zbReturn the charset that the user is likely using,
            by looking at environment variables.r&N�ascii)r)r��resrrrrks
cCsjddl}|rDtt�}yttd�Wntk
rCYnX|jd�}|rftt|�|S)zdReturn the charset that the user is likely using,
            according to the system configuration.rNr*F)r�rrrr)r�r�Zoldloc�resultrrrrts

�437r<�cZenz	ISO8859-1ZjisZJIS7Zjis7ZajecZeucJPZkoi8czKOI8-CZmicrosoftcp1251ZCP1251Zmicrosoftcp1255ZCP1255Zmicrosoftcp1256ZCP1256Z88591Z88592z	ISO8859-2Z88595z	ISO8859-5Z885915z
ISO8859-15r��latin_1�	iso8859_1�
iso8859_10z
ISO8859-10�
iso8859_11z
ISO8859-11�
iso8859_13z
ISO8859-13�
iso8859_14z
ISO8859-14�
iso8859_15�
iso8859_16z
ISO8859-16�	iso8859_2�	iso8859_3z	ISO8859-3�	iso8859_4z	ISO8859-4�	iso8859_5�	iso8859_6z	ISO8859-6�	iso8859_7z	ISO8859-7�	iso8859_8z	ISO8859-8�	iso8859_9z	ISO8859-9�
iso2022_jp�	shift_jisZSJIS�tactisZTACTIS�euc_jp�euc_krZeucKR�utf_8zUTF-8�koi8_rzKOI8-RZkoi8_tzKOI8-TZkoi8_uzKOI8-U�kz1048ZRK1048�cp1251�cp1255�cp1256rwr*Za3zaz_AZ.KOI8-CZa3_azz
a3_az.koicZaa_djzaa_DJ.ISO8859-1Zaa_erzaa_ER.UTF-8Zaa_etzaa_ET.UTF-8Zafzaf_ZA.ISO8859-1Zaf_zaZamzam_ET.UTF-8Zam_etZamericanzen_US.ISO8859-1Zan_eszan_ES.ISO8859-15�arzar_AA.ISO8859-6Zar_aaZar_aezar_AE.ISO8859-6Zar_bhzar_BH.ISO8859-6Zar_dzzar_DZ.ISO8859-6Zar_egzar_EG.ISO8859-6Zar_inzar_IN.UTF-8Zar_iqzar_IQ.ISO8859-6Zar_jozar_JO.ISO8859-6Zar_kwzar_KW.ISO8859-6Zar_lbzar_LB.ISO8859-6Zar_lyzar_LY.ISO8859-6Zar_mazar_MA.ISO8859-6Zar_omzar_OM.ISO8859-6Zar_qazar_QA.ISO8859-6Zar_sazar_SA.ISO8859-6Zar_sdzar_SD.ISO8859-6Zar_syzar_SY.ISO8859-6Zar_tnzar_TN.ISO8859-6Zar_yezar_YE.ISO8859-6�arabic�aszas_IN.UTF-8Zas_inZast_eszast_ES.ISO8859-15Zayc_pezayc_PE.UTF-8Zazzaz_AZ.ISO8859-9EZaz_azzaz_az.iso88599eZbezbe_BY.CP1251zbe@latinzbe_BY.UTF-8@latinz
be_bg.utf8zbg_BG.UTF-8Zbe_byzbe_by@latinZbem_zmzbem_ZM.UTF-8Zber_dzzber_DZ.UTF-8Zber_mazber_MA.UTF-8Zbgzbg_BG.CP1251Zbg_bgZbho_inzbho_IN.UTF-8Zbn_bdzbn_BD.UTF-8Zbn_inzbn_IN.UTF-8Zbo_cnzbo_CN.UTF-8Zbo_inzbo_IN.UTF-8Zbokmalznb_NO.ISO8859-1ubokmålZbrzbr_FR.ISO8859-1Zbr_frZbrx_inzbrx_IN.UTF-8Zbszbs_BA.ISO8859-2Zbs_baZ	bulgarianZbyn_erzbyn_ER.UTF-8zc-frenchzfr_CA.ISO8859-1zc.asciizc.enz
c.iso88591zc.utf8zen_US.UTF-8Zc_czc_c.cZcazca_ES.ISO8859-1Zca_adzca_AD.ISO8859-1Zca_eszca_es@valenciazca_ES.ISO8859-15@valenciaZca_frzca_FR.ISO8859-1Zca_itzca_IT.ISO8859-1ZcatalanZcextendz	chinese-szzh_CN.eucCNz	chinese-tzzh_TW.eucTWZcrh_uazcrh_UA.UTF-8Zcroatianzhr_HR.ISO8859-2Zcszcs_CZ.ISO8859-2Zcs_csZcs_czZcsb_plzcsb_PL.UTF-8Zcv_ruzcv_RU.UTF-8Zcyzcy_GB.ISO8859-1Zcy_gbZczZcz_czZczechZdazda_DK.ISO8859-1Zda_dkZdanishZdanskZdezde_DE.ISO8859-1Zde_atzde_AT.ISO8859-1Zde_bezde_BE.ISO8859-1Zde_chzde_CH.ISO8859-1Zde_dez
de_li.utf8zde_LI.UTF-8Zde_luzde_LU.ISO8859-1ZdeutschZdoi_inzdoi_IN.UTF-8Zdutchznl_NL.ISO8859-1zdutch.iso88591znl_BE.ISO8859-1Zdv_mvzdv_MV.UTF-8Zdz_btzdz_BT.UTF-8Zeezee_EE.ISO8859-4Zee_eeZeestizet_EE.ISO8859-1Zelzel_GR.ISO8859-7Zel_cyzel_CY.ISO8859-7Zel_grz
el_gr@eurozel_GR.ISO8859-15Zen_agzen_AG.UTF-8Zen_auzen_AU.ISO8859-1Zen_bezen_BE.ISO8859-1Zen_bwzen_BW.ISO8859-1Zen_cazen_CA.ISO8859-1Zen_dkzen_DK.ISO8859-1z
en_dl.utf8zen_DL.UTF-8Zen_gbzen_GB.ISO8859-1Zen_hkzen_HK.ISO8859-1Zen_iezen_IE.ISO8859-1Zen_inzen_IN.ISO8859-1Zen_ngzen_NG.UTF-8Zen_nzzen_NZ.ISO8859-1Zen_phzen_PH.ISO8859-1Zen_sgzen_SG.ISO8859-1Zen_ukZen_uszen_us@euro@eurozen_US.ISO8859-15Zen_zazen_ZA.ISO8859-1Zen_zmzen_ZM.UTF-8Zen_zwzen_ZW.ISO8859-1z
en_zw.utf8zen_ZS.UTF-8Zeng_gbZenglishzen_EN.ISO8859-1Z
english_ukzenglish_united-stateszenglish_united-states.437Z
english_usZeozeo_XX.ISO8859-3zeo.utf8zeo.UTF-8Zeo_eozeo_EO.ISO8859-3z
eo_us.utf8zeo_US.UTF-8Zeo_xxZeszes_ES.ISO8859-1Zes_arzes_AR.ISO8859-1Zes_bozes_BO.ISO8859-1Zes_clzes_CL.ISO8859-1Zes_cozes_CO.ISO8859-1Zes_crzes_CR.ISO8859-1Zes_cuzes_CU.UTF-8Zes_dozes_DO.ISO8859-1Zes_eczes_EC.ISO8859-1Zes_esZes_gtzes_GT.ISO8859-1Zes_hnzes_HN.ISO8859-1Zes_mxzes_MX.ISO8859-1Zes_nizes_NI.ISO8859-1Zes_pazes_PA.ISO8859-1Zes_pezes_PE.ISO8859-1Zes_przes_PR.ISO8859-1Zes_pyzes_PY.ISO8859-1Zes_svzes_SV.ISO8859-1Zes_uszes_US.ISO8859-1Zes_uyzes_UY.ISO8859-1Zes_vezes_VE.ISO8859-1ZestonianZetzet_EE.ISO8859-15Zet_eeZeuzeu_ES.ISO8859-1Zeu_esZeu_frzeu_FR.ISO8859-1Zfazfa_IR.UTF-8Zfa_irzfa_ir.isiri3342zfa_IR.ISIRI-3342Zff_snzff_SN.UTF-8Zfizfi_FI.ISO8859-15Zfi_fiZfil_phzfil_PH.UTF-8Zfinnishzfi_FI.ISO8859-1Zfozfo_FO.ISO8859-1Zfo_foZfrzfr_FR.ISO8859-1Zfr_bezfr_BE.ISO8859-1Zfr_caZfr_chzfr_CH.ISO8859-1Zfr_frZfr_luzfr_LU.ISO8859-1u	françaisZfre_frZfrenchzfrench.iso88591Z
french_franceZfur_itzfur_IT.UTF-8Zfy_dezfy_DE.UTF-8Zfy_nlzfy_NL.UTF-8Zgazga_IE.ISO8859-1Zga_ieZgalegozgl_ES.ISO8859-1ZgalicianZgdzgd_GB.ISO8859-1Zgd_gbZger_deZgermanzgerman.iso88591Zgerman_germanyZgez_erzgez_ER.UTF-8Zgez_etzgez_ET.UTF-8ZglZgl_es�greekZgu_inzgu_IN.UTF-8Zgvzgv_GB.ISO8859-1Zgv_gbZha_ngzha_NG.UTF-8Zhezhe_IL.ISO8859-8Zhe_il�hebrew�hizhi_IN.ISCII-DEVZhi_inzhi_in.isciidevZhnezhne_IN.UTF-8Zhne_inZhrZhr_hrZhrvatskiZhsb_dezhsb_DE.ISO8859-2Zht_htzht_HT.UTF-8Zhuzhu_HU.ISO8859-2Zhu_huZ	hungarianZhy_amzhy_AM.UTF-8zhy_am.armscii8zhy_AM.ARMSCII_8Ziazia.UTF-8Zia_frzia_FR.UTF-8Z	icelandiczis_IS.ISO8859-1�idzid_ID.ISO8859-1Zid_idZig_ngzig_NG.UTF-8Zik_cazik_CA.UTF-8�inZin_idrsZis_isz
iso-8859-1ziso-8859-15z	iso8859-1z
iso8859-15�
iso_8859_1�iso_8859_15�itzit_IT.ISO8859-1Zit_chzit_CH.ISO8859-1Zit_itZitalianZiuziu_CA.NUNACOM-8Ziu_caziu_ca.nunacom8ZiwZiw_ilz
iw_il.utf8ziw_IL.UTF-8Zjazja_JP.eucJPZja_jpz	ja_jp.euczja_jp.mscodez
ja_JP.SJISz	ja_jp.pckZjapanZjapanesezjapanese-euczjapanese.eucZjp_jpZkazka_GE.GEORGIAN-ACADEMYZka_gezka_ge.georgianacademyzka_ge.georgianpszka_GE.GEORGIAN-PSzka_ge.georgianrsZkk_kzzkk_KZ.RK1048Zklzkl_GL.ISO8859-1Zkl_glZkm_khzkm_KH.UTF-8Zknzkn_IN.UTF-8Zkn_inZkozko_KR.eucKRZko_krz	ko_kr.eucZkok_inzkok_IN.UTF-8�koreanz
korean.eucZkszks_IN.UTF-8Zks_inzks_in@devanagari.utf8zks_IN.UTF-8@devanagariZku_trzku_TR.ISO8859-9�kwzkw_GB.ISO8859-1Zkw_gbZkyzky_KG.UTF-8Zky_kgZlb_luzlb_LU.UTF-8Zlg_ugzlg_UG.ISO8859-10Zli_bezli_BE.UTF-8Zli_nlzli_NL.UTF-8Zlij_itzlij_IT.UTF-8Z
lithuanianzlt_LT.ISO8859-13�lozlo_LA.MULELAO-1Zlo_lazlo_la.cp1133zlo_LA.IBM-CP1133zlo_la.ibmcp1133zlo_la.mulelao1�ltZlt_ltZlvzlv_LV.ISO8859-13Zlv_lvZmag_inzmag_IN.UTF-8Zmaizmai_IN.UTF-8Zmai_inZmg_mgzmg_MG.ISO8859-15Zmhr_ruzmhr_RU.UTF-8Zmizmi_NZ.ISO8859-1Zmi_nzZmkzmk_MK.ISO8859-5Zmk_mkZmlzml_IN.UTF-8Zml_inZmn_mnzmn_MN.UTF-8Zmni_inzmni_IN.UTF-8Zmrzmr_IN.UTF-8Zmr_inZmszms_MY.ISO8859-1Zms_myZmtzmt_MT.ISO8859-3Zmt_mtZmy_mmzmy_MM.UTF-8znan_tw@latinznan_TW.UTF-8@latinZnbZnb_noZnds_deznds_DE.UTF-8Znds_nlznds_NL.UTF-8Zne_npzne_NP.UTF-8Znhn_mxznhn_MX.UTF-8Zniu_nuzniu_NU.UTF-8Zniu_nzzniu_NZ.UTF-8�nlZnl_awznl_AW.UTF-8Znl_beZnl_nlZnnznn_NO.ISO8859-1Znn_no�nozno_NO.ISO8859-1z
no@nynorskzny_NO.ISO8859-1Zno_nozno_no.iso88591@bokmalzno_no.iso88591@nynorskZ	norwegianZnrznr_ZA.ISO8859-1Znr_zaZnsoznso_ZA.ISO8859-15Znso_zaZnyZny_noZnynorskZoczoc_FR.ISO8859-1Zoc_frZom_etzom_ET.UTF-8Zom_kezom_KE.ISO8859-1�orzor_IN.UTF-8Zor_inZos_ruzos_RU.UTF-8Zpazpa_IN.UTF-8Zpa_inZpa_pkzpa_PK.UTF-8Zpap_anzpap_AN.UTF-8Zpdzpd_US.ISO8859-1Zpd_dezpd_DE.ISO8859-1Zpd_usZphzph_PH.ISO8859-1Zph_phZplzpl_PL.ISO8859-2Zpl_plZpolishZ
portuguesezpt_PT.ISO8859-1Zportuguese_brazilzpt_BR.ISO8859-1�posixz
posix-utf2Zppzpp_AN.ISO8859-1Zpp_anZps_afzps_AF.UTF-8ZptZpt_brZpt_ptZrozro_RO.ISO8859-2Zro_roZromanianZruzru_RU.UTF-8Zru_ruZru_uazru_UA.KOI8-UZrumanianZrussianzru_RU.ISO8859-5Zrwzrw_RW.ISO8859-1Zrw_rwZsa_inzsa_IN.UTF-8Zsat_inzsat_IN.UTF-8Zsc_itzsc_IT.UTF-8Zsdzsd_IN.UTF-8Zsd_inzsd_in@devanagari.utf8zsd_IN.UTF-8@devanagariZsd_pkzsd_PK.UTF-8Zse_nozse_NO.UTF-8Z
serbocroatianzsr_RS.UTF-8@latinZshzsh_ba.iso88592@bosniazsr_CS.ISO8859-2Zsh_hrzsh_HR.ISO8859-2zsh_hr.iso88592Zsh_spZsh_yuZshs_cazshs_CA.UTF-8Zsizsi_LK.UTF-8Zsi_lkZsid_etzsid_ET.UTF-8ZsinhalaZskzsk_SK.ISO8859-2Zsk_skZslzsl_SI.ISO8859-2Zsl_cszsl_CS.ISO8859-2Zsl_siZslovakZsloveneZ	slovenianZso_djzso_DJ.ISO8859-1Zso_etzso_ET.UTF-8Zso_kezso_KE.ISO8859-1Zso_sozso_SO.ISO8859-1Zspzsr_CS.ISO8859-5Zsp_yuZspanishZ
spanish_spainZsqzsq_AL.ISO8859-2Zsq_alZsq_mkzsq_MK.UTF-8�srzsr_RS.UTF-8zsr@cyrilliczsr@latnzsr_CS.UTF-8@latinZsr_cszsr_CS.UTF-8zsr_cs.iso88592@latnz
sr_cs@latnZsr_mezsr_ME.UTF-8Zsr_rsz
sr_rs@latnZsr_spZsr_yuzsr_yu.cp1251@cyrilliczsr_CS.CP1251zsr_yu.iso88592zsr_yu.iso88595zsr_yu.iso88595@cyrilliczsr_yu.microsoftcp1251@cyrillicz
sr_yu.utf8zsr_yu.utf8@cyrilliczsr_yu@cyrillicZsszss_ZA.ISO8859-1Zss_za�stzst_ZA.ISO8859-1Zst_zaZsvzsv_SE.ISO8859-1Zsv_fizsv_FI.ISO8859-1Zsv_seZsw_kezsw_KE.UTF-8Zsw_tzzsw_TZ.UTF-8ZswedishZszl_plzszl_PL.UTF-8Ztaz
ta_IN.TSCII-0Zta_inzta_in.tsciizta_in.tscii0Zta_lkzta_LK.UTF-8Ztezte_IN.UTF-8Zte_inZtgztg_TJ.KOI8-CZtg_tjZthzth_TH.ISO8859-11Zth_thzth_th.tactiszth_TH.TIS620zth_th.tis620�thaiZti_erzti_ER.UTF-8Zti_etzti_ET.UTF-8Ztig_erztig_ER.UTF-8Ztk_tmztk_TM.UTF-8Ztlztl_PH.ISO8859-1Ztl_phZtnztn_ZA.ISO8859-15Ztn_zaZtrztr_TR.ISO8859-9Ztr_cyztr_CY.ISO8859-9Ztr_trrozts_ZA.ISO8859-1Zts_zaZttztt_RU.TATAR-CYRZtt_ruztt_ru.tatarcyrz
tt_ru@iqtelifztt_RU.UTF-8@iqtelifZturkishZug_cnzug_CN.UTF-8Zukzuk_UA.KOI8-UZuk_uaZunivz	en_US.utfZ	universalzuniversal.utf8@ucs4Zunm_uszunm_US.UTF-8Zurzur_PK.CP1256Zur_inzur_IN.UTF-8Zur_pkZuzzuz_UZ.UTF-8Zuz_uzzuz_uz@cyrillicZvezve_ZA.UTF-8Zve_zaZviz
vi_VN.TCVNZvi_vnz
vi_vn.tcvnzvi_vn.tcvn5712zvi_vn.visciizvi_VN.VISCIIzvi_vn.viscii111Zwazwa_BE.ISO8859-1Zwa_beZwae_chzwae_CH.UTF-8Zwal_etzwal_ET.UTF-8Zwo_snzwo_SN.UTF-8Zxhzxh_ZA.ISO8859-1Zxh_zaZyizyi_US.CP1255Zyi_usZyo_ngzyo_NG.UTF-8Zyue_hkzyue_HK.UTF-8ZzhZzh_cnzzh_CN.gb2312z
zh_cn.big5z
zh_TW.big5z	zh_cn.eucZzh_hkzzh_HK.big5hkscszzh_hk.big5hkZzh_sgzzh_SG.GB2312z	zh_sg.gbkz	zh_SG.GBKZzh_twz	zh_tw.euczzh_tw.euctwZzuzzu_ZA.ISO8859-1Zzu_zai6Zaf_ZAiZsq_ALi�Zgsw_FRi^Zam_ETiZar_SAiZar_IQiZar_EGiZar_LYiZar_DZiZar_MAiZar_TNi Zar_OMi$Zar_YEi(Zar_SYi,Zar_JOi0Zar_LBi4Zar_KWi8Zar_AEi<Zar_BHi@Zar_QAi+Zhy_AMiMZas_INi,Zaz_AZi,imZba_RUi-Zeu_ESi#Zbe_BYiEZbn_INi Zbs_BAii~Zbr_FRiZbg_BGiZca_ESZzh_CHSiZzh_TWiZzh_CNiZzh_HKiZzh_SGiZzh_MOi|Zzh_CHTi�Zco_FRiZhr_HRiZhr_BAiZcs_CZiZda_DKi�Zgbz_AFieZdiv_MViZnl_NLiZnl_BEi	Zen_USi	Zen_GBi	Zen_AUi	Zen_CAi	Zen_NZi	Zen_IEi	Zen_ZAi	 Zen_JAi	$Zen_CBi	(Zen_BZi	,Zen_TTi	0Zen_ZWi	4Zen_PHi	@Zen_INi	DZen_MYi	Hi%Zet_EEi8Zfo_FOidZfil_PHiZfi_FIiZfr_FRiZfr_BEiZfr_CAiZfr_CHiZfr_LUiZfr_MCibZfy_NLiVZgl_ESi7Zka_GEiZde_DEiZde_CHiZde_ATiZde_LUiZde_LIiZel_GRioZkl_GLiGZgu_INihZha_NGi
Zhe_ILi9Zhi_INiZhu_HUiZis_ISi!Zid_IDi]Ziu_CAi]i<Zga_IEiZit_ITiZit_CHiZja_JPiKZkn_INi?Zkk_KZiSZkh_KHi�Zqut_GTi�Zrw_RWiWZkok_INiZko_KRi@Zky_KGiTZlo_LAi&Zlv_LVi'Zlt_LTi.Zdsb_DEinZlb_LUi/Zmk_MKi>Zms_MYi>Zms_BNiLZml_INi:Zmt_MTi�Zmi_NZizZarn_CLiNZmr_INi|Zmoh_CAiPZmn_MNiPZmn_CNiaZne_NPiZnb_NOiZnn_NOi�Zoc_FRiHZor_INicZps_AFi)Zfa_IRiZpl_PLiZpt_BRiZpt_PTiFZpa_INikZquz_BOikZquz_ECikZquz_PEiZro_ROiZrm_CHiZru_RUi;$Zsmn_FIi;Zsmj_NOi;Zsmj_SEi;Zse_NOi;Zse_SEi;Zse_FIi; Zsms_FIi;Zsma_NOi;Zsma_SEiOZsa_INiZsr_SPiZsr_BAiii[Zsi_LKilZns_ZAi2Ztn_ZAiZsk_SKi$Zsl_SIi
Zes_ESi
Zes_MXi
i
Zes_GTi
Zes_CRi
Zes_PAi
Zes_DOi
 Zes_VEi
$Zes_COi
(Zes_PEi
,Zes_ARi
0Zes_ECi
4Zes_CLi
8Zes_URi
<Zes_PYi
@Zes_BOi
DZes_SVi
HZes_HNi
LZes_NIi
PZes_PRi
TZes_USiAZsw_KEiZsv_SEiZsv_FIiZZsyr_SYi(Ztg_TJi_Ztmz_DZiIZta_INiDZtt_RUiJZte_INiZth_THiQZbo_BTiQZbo_CNiZtr_TRiBZtk_TMi�Zug_CNi"Zuk_UAi.Zwen_DEi Zur_PKi Zur_INiCZuz_UZiCi*Zvi_VNiRZcy_GBi�Zwo_SNi4Zxh_ZAi�Zsah_RUixZii_CNijZyo_NGi5Zzu_ZAc
CsMi}|dd�}|�|d=td�tdd�t�\}}td|pYd�td	|pld�t�td
�tdd�xf|j�D]X\}}t|d�t|�\}}td|p�d�td
|p�d�t�q�Wt�td�tdd�t�xf|j�D]X\}}t|d�t|�\}}td|ped�td
|pxd�t�q+Wyttd�Wn&td�td�td�Yn�Xt�td�tdd�xf|j�D]X\}}t|d�t|�\}}td|p'd�td
|p:d�t�q�WdS)z Test function.
    cSsDx=t�j�D],\}}|dd�dkr|||<qWdS)Nr#ZLC_)�globals�items)�
categories�k�vrrr�_init_categoriesNsz'_print_locale.<locals>._init_categoriesrz4Locale defaults as determined by getdefaultlocale():rx�Hz
Language: z(undefined)z
Encoding: zLocale settings on startup:z...z
   Language: z
   Encoding: z,Locale settings after calling resetlocale():r*zNOTE:z9setlocale(LC_ALL, "") does not support the default localez&given in the OS environment variables.z4Locale settings after calling setlocale(LC_ALL, ""):N)rtrr�rrrr)r�r�Zlang�enc�namer=rrr�
_print_localeIsV








r��LC_MESSAGES�__main__zLocale aliasing:zNumber formatting:)zLC_ALLzLC_CTYPEr�zLANGUAGE)J�__doc__r�rzZencodings.aliases�rera�builtinsrr��	functools�__all__rrr�r�rrrrr�rrrrCrr	rr�rr
r?r@�wrapsrErQrR�compilerSrrWrrrp�floatrr
rvr�r�r�rr�r�rrrr��
startswithr�CODESET�	NameErrorr�sortedr�r�r�rm�
setdefaultr�r�r�rK�__name__rtrrrr�<module>s�
	
"-S5

	"s:





Rosenblum TV: Video training, virtual workshops, classes, tutorials
logologologologo
  • About
  • What We Do
  • Our Clients
  • Case Studies
    • The BBC
    • CBS News
    • New York Times Television
    • Spectrum News
    • The Newark Star-Ledger
    • The United Nations
    • McGraw/Hill
    • Oyster Yachts
    • Scottish Environmental Protection Agency
  • The Power of Storytelling
  • Why iPhones?
  • Michael on Media
  • Books
  • Contact
  • About
  • What We Do
  • Our Clients
  • Case Studies
    • The BBC
    • CBS News
    • New York Times Television
    • Spectrum News
    • The Newark Star-Ledger
    • The United Nations
    • McGraw/Hill
    • Oyster Yachts
    • Scottish Environmental Protection Agency
  • The Power of Storytelling
  • Why iPhones?
  • Michael on Media
  • Books
  • Contact

RE-INVENTING THE TELEVISION NEWS BUSINESS*

A revolution in video storytelling

Creating entirely new & cost-effective production methods

From the world leaders in video production training and the creators of Character Driven Storytelling™

*and every other business that uses video

WHAT WE DO

Over the past 35 years, we have designed, built or restructured some of the most powerful news and journalism companies in the world.

We replace the traditional TV news ‘crew’ with one highly trained journalist, working alone with nothing but an iPhone.

No more TV news ‘crews’, no editors and no field producers.

This is television news done the way newspaper journalism is done – one reporter with their electronic pad and pencil.

In doing this, we can cut the cost of production by as much as 75% while increasing ratings and audience engagement.

In the place of conventional TV news ‘packages’ – ie, reporter stand up, interview, b-roll, man on the street, we marry great journalism with Netflix and Hollywood storytelling.

It’s a combination that works.

We have taken most of our clients to #1 in their respective markets.

And it’s not just for news. Any company, any profit, any NGO and anyone else who is online needs to tell their story in compelling yet cost-effective video. We can teach you to do that. Either in person or virtually.

EXAMPLES OF WHAT WE CAN TEACH YOUR STAFF TO PRODUCE

ITAY HOD

Itay Hod, MMJ with KPIX/CBS in San Francisco, took the 5-Day Intensive Video Storytelling Bootcamp in 2018.

Because he works alone, with only an iPhone, he was able to embed himself with a homeless family.

Here’s the story he produced in a one-day turn.

KIET DO

Kiet Do, an MMJ with KPIX/CBS in San Francisco, took the 5-Day Intensive Video Storytelling Bootcamp in 2021.

Here is a story he produced, all on his own, with only an iPhone and in a one-day turn.

TAYLOR SCHAUB

Taylor Schaub, an MMJ with Spectrum News 1 in LA, took the 5-Day Intensive Video Storytelling Bootcamp in 2023.

Here is a story he turned in only one day, using only an iPhone. It was the first video story he ever did and it was nominated for an Emmy.

THE BOOTCAMP

How do we convert stations and whole networks to working in this way?

Since 1988, we have run intensive 5-Day Video Storytelling Bootcamps

We have done these all over the world.

These are hands-on bootcamps, and participants learn an entirely new way of creating TV news stories.

-We shoot at a 3:1 ratio or lower, so turnaround times are fast.

-We go directly from camera to timelilne and edit – no written scripts.  We work in the medium of pictures and sound.

-We are entirely character-driven.

-We are driven by pictures and real events.

-We are focused almost entirely on ’the viewer experience’.

Since 1988, more than 70,000 journalists around the world have taken our bootcamps, either in person on virtualy.

Case Studies

CBS Case Study Logos
CBS News

We have started to work with CBS News, bringing our ideas of character-driven storytelling to one of the most successful and biggest networks in the United States. Since beginning to work with them ratings have climbed and more importantly, audience engagement is through the ceiling.

Learn More
NYT Case Study Logos
New York Times Television

We started New York Times Television in 1990 and it was the first paper to be brought into the world of TV. It quickly became one of the most successful non-fiction production companies in the United States. The series and documentaries we produced won many awards including multiple Emmys.

Learn More
BBC Case Study Logos
The BBC

We have been working with the BBC since the year 2000 helping to convert their national news network to our visual storytelling technique. Most recently we have trained teams from their sports, documentaries, and comedy divisions to make character-driven stories using only smartphones.

Learn More
Spectrum Case Study Logos
Spectrum News

For the past five years we have worked with Spectrum News to introduce and train their journalists on visual, character driven storytelling using smartphones helping to create a different kind of local news for their network of 24-Hour News Stations across the United States.

Learn More
UN Case Study Logos
The United Nations

In 2006, we were approached by the United Nations. Rather than rely on news outlets, it would be much easier to train the field operatives to produce their own stories. We spent two years working with the UN, training more than 100 of their staff in bootcamps in Geneva and Nairobi.

Learn More
Star Ledger Case Study Logos
The Newark Star-Ledger

We trained 50 print reporters at the paper to shoot and tell their own stories, in conjunction with their print work. We built a TV newsroom in their existing print newsroom – you could not ask for a better set and they began to live stream their stories in conjunction with their print work.

Learn More
Mcgraw Hill Case Study Logos
Mcgraw Hill

We spent two years with McGraw Hill, training more than 150 of their staffers, making them completely video literate. McGraw/Hill media properties we transit included Business Week, Aviation Week, (what was the name of the architecture magazine), and JD Power and Associates.

Learn More
VOA Case Study Logos
Voice of America

In 1990, we were approached by The Voice of America, the official broadcasting agency for the United States Government. When we met with VOA, they were only a short wave radio broadcaster, but working with them, we took them into television, launching VOA-TV.

Learn More
Oyster Case Study Logos
Oyster Yachts

British based Oyster Yachts makes some of the finest yachts in the world. Like every other company, they had to find a way to feed the never-ending video demands of social media – sites like Instagram and TikTok. We trained the Oyster staff to tell their own stories, using only iPhones.

Learn More
SEPA Case Study Logos
Scottish Environmental Protection Agency

We were approached by SEPA, the Scottish Environmental Protection Agency because they had to continually find a way to ‘feed the media beast’. The result was that SEPA was able to tell their own stories, whenever they wanted, and at almost no additional cost.

Learn More
Image 11-11-22 at 6.25 PM

Michael on Media

Michael Rosenblum has been writing about the media since 1988. His work and ideas have appeared in The Guardian, The Huffington Post, Ilkeston Life and many other publications.

He has been blogging regularly for the past 35 years on this subject. Having taught media studies at Columbia University, NYU and now the University of Oxford, he is considered an expert on this subject.

Continue reading this post or look back at previous posts.

Read More

Do You Have Questions About Learning Video Skills?

If you would like to know more about our courses contact us and one of our training advisors will be happy to call you.

Contact Us

Copyright 2024. All rights reserved.